diff options
author | pdanner <pdanner@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2007-09-05 10:02:19 +0000 |
---|---|---|
committer | pdanner <pdanner@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2007-09-05 10:02:19 +0000 |
commit | 4075bf26b65cf2be4c55f2e9cbdc1b854a41dbce (patch) | |
tree | ce47b59636e31eb8aa64f075773cbef88c9324f3 /spss.slinterface | |
parent | 31d5acacc9c22f45251827b38ad689cdeb705efc (diff) | |
download | moa-id-spss-4075bf26b65cf2be4c55f2e9cbdc1b854a41dbce.tar.gz moa-id-spss-4075bf26b65cf2be4c55f2e9cbdc1b854a41dbce.tar.bz2 moa-id-spss-4075bf26b65cf2be4c55f2e9cbdc1b854a41dbce.zip |
removed obsolete files
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@990 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'spss.slinterface')
148 files changed, 0 insertions, 25060 deletions
diff --git a/spss.slinterface/.classpath b/spss.slinterface/.classpath deleted file mode 100644 index dc4d54119..000000000 --- a/spss.slinterface/.classpath +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="src" path="res"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/IAIK JCE 3.0.3 signiert"/> - <classpathentry kind="lib" path="lib/axis-1.0/axis.jar"/> - <classpathentry kind="lib" path="lib/commons-discovery-0.2/commons-discovery.jar"/> - <classpathentry kind="lib" path="lib/commons-fileupload-1.0/commons-fileupload-1.0.jar"/> - <classpathentry kind="lib" path="lib/commons-logging-1.0.4/commons-logging.jar"/> - <classpathentry kind="lib" path="lib/log4j-1.2.7/log4j-1.2.7.jar"/> - <classpathentry kind="lib" path="lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip"/> - <classpathentry kind="lib" path="lib/axis-1.0/jaxrpc.jar"/> - <classpathentry kind="lib" path="lib/axis-1.0/saaj.jar"/> - <classpathentry kind="lib" path="lib/axis-1.0/wsdl4j.jar"/> - <classpathentry kind="lib" path="lib/xalan-2.5.1/xalan.jar"/> - <classpathentry kind="lib" path="lib/xerces-2.6.2/xercesImpl.jar"/> - <classpathentry kind="lib" path="lib/xerces-2.6.2/xmlParserAPIs.jar"/> - <classpathentry kind="output" path="WEB-INF/classes"/> -</classpath> diff --git a/spss.slinterface/.project b/spss.slinterface/.project deleted file mode 100644 index 85d06023f..000000000 --- a/spss.slinterface/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>MOA SPSS SL-Interface</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> - <triggers>full,incremental,</triggers> - <arguments> - <dictionary> - <key>LaunchConfigHandle</key> - <value><project>/.externalToolBuilders/MOA SL (Ant).launch</value> - </dictionary> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>com.sysdeo.eclipse.tomcat.tomcatnature</nature> - </natures> -</projectDescription> diff --git a/spss.slinterface/WEB-INF/web.xml b/spss.slinterface/WEB-INF/web.xml deleted file mode 100644 index da7d74f7b..000000000 --- a/spss.slinterface/WEB-INF/web.xml +++ /dev/null @@ -1,99 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!DOCTYPE web-app - PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" - "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> - -<web-app> - <display-name>Security-Layer-Interface to MOA SPSS</display-name> - <description>This web service provides a Security-Layer-Interface to MOA SPSS.</description> - - <filter> - <filter-name>SL2MOAFilter</filter-name> - <filter-class>at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter</filter-class> - </filter> - - <filter-mapping> - <filter-name>SL2MOAFilter</filter-name> - <servlet-name>MOAServlet</servlet-name> - </filter-mapping> - - <listener> - <listener-class>at.gv.egovernment.moa.spss.slinterface.listeners.ContextListener</listener-class> - </listener> - - <servlet> - <servlet-name>MOAServlet</servlet-name> - <display-name>MOA Servlet</display-name> - <servlet-class> - at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet - </servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - - <servlet> - <servlet-name>HashInputDataServlet</servlet-name> - <display-name>Displays a particular hash input data</display-name> - <servlet-class> - at.gv.egovernment.moa.spss.slinterface.servlets.HashInputDataServlet - </servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - - <servlet> - <servlet-name>ReturnServlet</servlet-name> - <display-name>Return servlet</display-name> - <servlet-class> - at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet - </servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - - <!-- For test purposes only --> - <servlet> - <servlet-name>DataURLServlet</servlet-name> - <display-name>DataURL test servlet</display-name> - <servlet-class> - test.at.gv.egovernment.moa.spss.slinterface.DataURLServlet - </servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - - <!-- For test purposes only --> - <servlet> - <servlet-name>RewriteServlet</servlet-name> - <display-name>URL rewriting test servlet</display-name> - <servlet-class> - test.at.gv.egovernment.moa.spss.slinterface.RewriteServlet - </servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - - <servlet-mapping> - <servlet-name>MOAServlet</servlet-name> - <url-pattern>/http-security-layer-request</url-pattern> - </servlet-mapping> - - <servlet-mapping> - <servlet-name>HashInputDataServlet</servlet-name> - <url-pattern>/showdata</url-pattern> - </servlet-mapping> - - <servlet-mapping> - <servlet-name>ReturnServlet</servlet-name> - <url-pattern>/return</url-pattern> - </servlet-mapping> - - <!-- For test purposes only --> - <servlet-mapping> - <servlet-name>DataURLServlet</servlet-name> - <url-pattern>/dataurl</url-pattern> - </servlet-mapping> - - <!-- For test purposes only --> - <servlet-mapping> - <servlet-name>RewriteServlet</servlet-name> - <url-pattern>/rewrite</url-pattern> - </servlet-mapping> - -</web-app> diff --git a/spss.slinterface/build.xml b/spss.slinterface/build.xml deleted file mode 100644 index 4133c1e77..000000000 --- a/spss.slinterface/build.xml +++ /dev/null @@ -1,199 +0,0 @@ -<!-- - - Ant Buildfile for MOA SL - - Authors: Gregor Karlinger - - $Id$ - ---> -<project name="moa-sl" default="dist-ws" basedir="."> - <property environment="env"/> - - <!-- Remove comments if targets should be run in test mode, i.e. include test files --> - <!--<property name="isTest" value="dummy"/>--> - - <property name="version" value="1.1.1"/> - - <property name="lib" value="lib"/> - <property name="src" value="src"/> - <property name="res" value="res"/> - <property name="web-inf" value="WEB-INF"/> - <property name="pages" value="pages"/> - <property name="handbook" value="handbook"/> - <property name="conf" value="conf"/> - <property name="test" value="test"/> - <property name="tempdir" value="workdir/temp"/> - - <property name="tmp" value="tmp"/> - <property name="compile" value="${tmp}/compile"/> - <property name="api-doc" value="${tmp}/api-doc"/> - <property name="dist" value="${tmp}/dist"/> - <property name="dist.ws" value="${dist}/ws"/> - <property name="dist.ws.conf" value="${dist.ws}/conf"/> - <property name="dist.ws-zip" value="${dist}/ws-zip"/> - <property name="dist.src" value="${dist}/src"/> - <property name="dist.src-zip" value="${dist}/src-zip"/> - - <property name="lib.axis" value="${lib}/axis-1.0"/> - <property name="lib.commons-discovery" value="${lib}/commons-discovery-0.2"/> - <property name="lib.commons-fileupload" value="${lib}/commons-fileupload-1.0"/> - <property name="lib.commons-logging" value="${lib}/commons-logging-1.0.4"/> - <property name="lib.log4j" value="${lib}/log4j-1.2.7"/> - <property name="lib.servlet" value="${lib}/servlet-2.3"/> - <property name="lib.xalan" value="${lib}/xalan-2.5.1"/> - <property name="lib.xerces" value="${lib}/xerces-2.6.2"/> - - <path id="compile.classpath"> - <pathelement location="${lib.axis}/axis.jar"/> - <pathelement location="${lib.axis}/jaxrpc.jar"/> - <pathelement location="${lib.axis}/saaj.jar"/> - <pathelement location="${lib.commons-logging}/commons-logging-api.jar"/> - <pathelement location="${lib.commons-fileupload}/commons-fileupload-1.0.jar"/> - <pathelement location="${lib.commons-discovery}/commons-discovery.jar"/> - <pathelement location="${lib.log4j}/log4j-1.2.7.jar"/> - <pathelement location="${lib.servlet}/servlet-2_3-fcs-classfiles.zip"/> - <pathelement location="${lib.xalan}/xalan.jar"/> - <pathelement location="${lib.xerces}/xmlParserAPIs.jar"/> - <pathelement location="${lib.xerces}/xercesImpl.jar"/> - </path> - - <target name="init"> - <description>set up directories etc.</description> - <tstamp/> - <mkdir dir="${tmp}"/> - <mkdir dir="${compile}"/> - <mkdir dir="${api-doc}"/> - <mkdir dir="${handbook}"/> - <mkdir dir="${dist}"/> - <mkdir dir="${dist.ws}"/> - <mkdir dir="${dist.ws-zip}"/> - <mkdir dir="${dist.src}"/> - <mkdir dir="${dist.src-zip}"/> - </target> - - <target name="compile" depends="init"> - <description>compile everything</description> - <javac srcdir="${src}" destdir="${compile}" - classpathref="compile.classpath" - debug="on"> - </javac> - </target> - - <target name="package-ws" depends="compile, manifest"> - <description>package the server war file</description> - <war warfile="${dist.ws}/moa-sl.war" webxml="${web-inf}/web.xml" manifest="${tmp}/MANIFEST.MF"> - <lib dir="${lib.axis}"/> - <lib dir="${lib.commons-logging}"/> - <lib dir="${lib.commons-fileupload}"/> - <lib dir="${lib.commons-discovery}"/> - <lib dir="${lib.log4j}"/> - <lib dir="${lib.xalan}"/> - <lib dir="${lib.xerces}"/> - <classes dir="${compile}" excludes=""/> - <classes dir="${res}" excludes="test/**"/> - <classes file="${conf}/log4j/log4j.properties"/> - <zipfileset dir="${pages}" excludes="" prefix="pages"/> - <zipfileset dir="${test}" excludes=".cvsignore" prefix="test"> - <exclude unless="isTest" name="*/**"/> - </zipfileset> - <zipfileset dir="${tempdir}" prefix="workdir/temp"/> - </war> - </target> - - <target name="api-doc" depends="init"> - <description>create java doc</description> - <!-- TODO does not work at the moment --> - <!--<javadoc defaultexcludes="yes" - destdir="${api-doc}" - author="true" - version="true" - use="true" - windowtitle="MOA SL System Documentation"> - <packageset dir="src"> - <exclude name="test/**"/> - </packageset> - <link offline="false" href="http://java.sun.com/j2se/1.3/docs/api/"/> - <doctitle><![CDATA[MOA SL System Documentation]]></doctitle> - <classpath refid="compile.classpath"/> - </javadoc>--> - </target> - - <target name="dist-ws" depends="clean, package-ws"> - <description>create the webservice distributable</description> - <copy toDir="${dist.ws}/conf"> - <fileset dir="${conf}"/> - </copy> - <copy toDir="${dist.ws}/doc/handbook"> - <fileset dir="${handbook}" excludes="handbook/common/LogoMoa4c.3148x3545.jpg" /> - </copy> - <copy toDir="${dist.ws}/endorsed14"> - <fileset dir="${lib.xalan}"/> - <fileset dir="${lib.xerces}"/> - </copy> - <fixcrlf srcdir="${dist.ws}" includes="**/*.sh" eol="lf" eof="remove"/> - </target> - - <target name="dist-ws-doc" depends="dist-ws, api-doc"> - <description> - create the webservice-distributable, including all documentation - </description> - <copy toDir="${dist.ws}/doc/api-doc"> - <fileset dir="${api-doc}"/> - </copy> - </target> - - <target name="dist-ws-zip" depends="dist-ws-doc"> - <description> - create the zipped webservice distributable - </description> - <zip zipfile="${dist.ws-zip}/moa-sl-${version}.zip"> - <zipfileset dir="${dist.ws}" prefix="moa-sl-${version}"/> - </zip> - </target> - - <target name="dist-src"> - <description>create the source distributable</description> - <copy toDir="${dist.src}"> - <fileset dir="." excludes="tmp"/> - </copy> - <fixcrlf srcdir="${dist.src}" includes="**/*.sh" eol="lf" eof="remove"/> - </target> - - <target name="dist-src-zip" depends="dist-src"> - <zip zipfile="${dist.src-zip}/moa-sl-${version}-src.zip"> - <zipfileset dir="${dist.src}" prefix="moa-sl-${version}-src"/> - </zip> - </target> - - <target name="dist-all" depends="dist-ws-zip, dist-src-zip"> - <description>create all distributables</description> - </target> - - <target name="deploy-catalina" depends="dist-ws" if="env.CATALINA_HOME"> - <description> - deploy the webservice to catalina (needs CATALINA_HOME defined) - </description> - <delete dir="${env.CATALINA_HOME}/webapps/moa-sl"/> - <copy file="${dist.ws}/moa-sl.war" toDir="${env.CATALINA_HOME}/webapps"/> - <!-- copy endorsed jars --> - <copy toDir="${env.JAVA_ENDORSED_DIRS"> - <fileset dir="${dist.ws}/endorsed14"/> - </copy> - <!-- copy sample configuration --> - <copy toDir="${env.CATALINA_HOME}/conf"> - <fileset dir="${conf}"/> - </copy> - </target> - - <target name="clean"> - <description>clean temporary files</description> - <delete dir="${tmp}"/> - </target> - - <target name="manifest"> - <filter token="version" value="${version}" /> - <copy file="manifest.template" tofile="${tmp}/MANIFEST.MF" overwrite="true" filtering="true" /> - </target> - -</project> diff --git a/spss.slinterface/conf/log4j/log4j.properties b/spss.slinterface/conf/log4j/log4j.properties deleted file mode 100644 index 5b485b0bb..000000000 --- a/spss.slinterface/conf/log4j/log4j.properties +++ /dev/null @@ -1,25 +0,0 @@ -# -# Sample log4j configuration for the MOA-SL web service -# - -# commons-logging setup -org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory - -# Configure root logger and loggers for moa-spss -log4j.rootLogger=info, stdout -log4j.logger.slinterface=info, moasl - -# Configure the 'stdout' appender to write logging output to the console -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n - -# Configure the 'moasl' appender to write moa-sl related logging output -# to the file 'logs/moa-sl.log'. The file is rolled over every 1000KB, -# and a maximum history of 10 log files is being kept. -log4j.appender.moasl=org.apache.log4j.RollingFileAppender -log4j.appender.moasl.File=logs/moa-sl.log -log4j.appender.moasl.MaxFileSize=1000KB -log4j.appender.moasl.MaxBackupIndex=10 -log4j.appender.moasl.layout=org.apache.log4j.PatternLayout -log4j.appender.moasl.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n diff --git a/spss.slinterface/conf/moa-sl/moa-sl.properties b/spss.slinterface/conf/moa-sl/moa-sl.properties deleted file mode 100644 index bed1f2893..000000000 --- a/spss.slinterface/conf/moa-sl/moa-sl.properties +++ /dev/null @@ -1,59 +0,0 @@ -# [XML-Schemata für Request- und Response-Validierung] - -# Schema für Security-Layer V 1.2 -location.schema.sl = /WEB-INF/classes/resources/schemas/Core.20031231.xsd - -# Schema für MOA SP/SS V 1.3 -location.schema.moa = /WEB-INF/classes/resources/schemas/MOA-SPSS-1.3.xsd - -# Schema für das Anzeigeformat aus SL 1.2 -location.schema.slxhtml = /WEB-INF/classes/resources/schemas/slxhtml-1.0/slxhtml.xsd - -# [Arbeitsverzeichnis] - -# Arbeitsverzeichnis zum Ablegen der von der geprüften XML-Signatur signierten Daten -location.tempdir = /workdir/temp/ - -# [Parameter der verwendeten MOA SP Installation] - -# URL des Zugangspunkts -service.sp.endpoint = http://localhost:8080/moa-spss/services/SignatureVerification - -# Zu verwendendes Vertrauensprofil -service.sp.trustProfileId = MOA-SL-Test - -# [Umfang der Prüfberichtseite] - -# Sollen die ggf. vorhandenen Signatureigenschaften (z.B. Signaturdatum) in der Liste -# der signierten Daten als XML-Datei angezeigt werden? -result.showetsi = false - -# Sollen ein ggf. vorhandenes Security-Layer Manifest in der Liste der signierten Daten als -# XML-Dateien angezeigt werden? -result.showslmanifest = false - -# [Parameter für das Umschreiben der URLs in der Prüfberichtseite] - -# Ein-/Ausschalten des Umschreibens -rewrite = true - -# URL des Proxys zu MOA SL, d. h. jenes Rechners, der vom Internet aus erreichbar ist -rewrite.proxyURL = http://<proxyhost>:8080/moa-sl/rewrite - -# Platzhalter für den Hostnamen des Proxys zu MOA SL -rewrite.proxyURL.proxyhostDummy = <proxyhost> - -# Tabelle für Reverse DNS Lookup zum Herausfinden des Hostnamens des Proxys zu MOA SL -rewrite.dn.127.0.0.1 = localhost -rewrite.dn.129.27.142.210 = localhost -rewrite.dn.default = localhost - -# Name des Parameters in der Proxy-URL, dessen Wert die übersetzte URL für den Aufruf -# von MOA SL enthält (empfängt der Proxy einen HTTP-Request mit diesem Parameter, so -# setz er diesen HTTP-Request auf die in diesem Parameter angegebene URL um) -rewrite.MOASLUrlParamName = targetURL - -# URL, wie der Webapplikations-Server mit MOA SL vom Proxy aus erreicht werden kann -# (ohne abschließenden /). Diese URL bildet den ersten Teil des Werts für den obigen -# Parameter. -rewrite.MOASLWebAppServUrl = http://localhost:8080 diff --git a/spss.slinterface/conf/moa-spss/spss.config.fragment b/spss.slinterface/conf/moa-spss/spss.config.fragment deleted file mode 100644 index 2cc7ffccc..000000000 --- a/spss.slinterface/conf/moa-spss/spss.config.fragment +++ /dev/null @@ -1,7 +0,0 @@ -Fügen Sie bitte das nachfolgende Fragment in Ihre Konfigurationsdatei für MOA SP/SS als Kind -von MOAConfiguration/SignatureVerification/CertificateValidation/PathValidation ein. - -<cfg:TrustProfile xmlns:cfg="http://reference.e-government.gv.at/namespace/moaconfig/20021122#"> - <cfg:Id>MOA-SL-Test</cfg:Id> - <cfg:TrustAnchorsLocation>trustProfiles/moa-sl-test</cfg:TrustAnchorsLocation> -</cfg:TrustProfile> diff --git a/spss.slinterface/conf/moa-spss/trustprofiles/moa-sl-test/isolde.buergerin.der b/spss.slinterface/conf/moa-spss/trustprofiles/moa-sl-test/isolde.buergerin.der Binary files differdeleted file mode 100644 index 1cdc15c6e..000000000 --- a/spss.slinterface/conf/moa-spss/trustprofiles/moa-sl-test/isolde.buergerin.der +++ /dev/null diff --git a/spss.slinterface/conf/tomcat/server.xml b/spss.slinterface/conf/tomcat/server.xml deleted file mode 100644 index 0b3d040cf..000000000 --- a/spss.slinterface/conf/tomcat/server.xml +++ /dev/null @@ -1,147 +0,0 @@ -<!-- A "Server" is a singleton element that represents the entire JVM, - which may contain one or more "Service" instances. The Server - listens for a shutdown command on the indicated port. - - Note: A "Server" is not itself a "Container", so you may not - define subcomponents such as "Valves" or "Loggers" at this level. - --> - -<Server port="8005" shutdown="SHUTDOWN" debug="0"> - - <!-- A "Service" is a collection of one or more "Connectors" that share - a single "Container" (and therefore the web applications visible - within that Container). Normally, that Container is an "Engine", - but this is not required. - - Note: A "Service" is not itself a "Container", so you may not - define subcomponents such as "Valves" or "Loggers" at this level. - --> - - <!-- Define the Tomcat Stand-Alone Service --> - <Service name="Tomcat-Standalone"> - - <!-- A "Connector" represents an endpoint by which requests are received - and responses are returned. Each Connector passes requests on to the - associated "Container" (normally an Engine) for processing. - - By default, a non-SSL HTTP/1.1 Connector is established on port 8080. - You can also enable an SSL HTTP/1.1 Connector on port 8443 by - following the instructions below and uncommenting the second Connector - entry. SSL support requires the following steps (see the SSL Config - HOWTO in the Tomcat 4.0 documentation bundle for more detailed - instructions): - * Download and install JSSE 1.0.2 or later, and put the JAR files - into "$JAVA_HOME/jre/lib/ext". - * Execute: - %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows) - $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix) - with a password value of "changeit" for both the certificate and - the keystore itself. - - By default, DNS lookups are enabled when a web application calls - request.getRemoteHost(). This can have an adverse impact on - performance, so you can disable it by setting the - "enableLookups" attribute to "false". When DNS lookups are disabled, - request.getRemoteHost() will return the String version of the - IP address of the remote client. - --> - - <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> - <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" - port="8080" minProcessors="5" maxProcessors="75" - enableLookups="true" redirectPort="8444" - acceptCount="100" debug="0" connectionTimeout="20000" - useURIValidationHack="false" disableUploadTimeout="true" /> - <!-- Note : To disable connection timeouts, set connectionTimeout value - to 0 --> - - <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> - <!-- - <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" - port="8443" minProcessors="5" maxProcessors="75" - enableLookups="true" - acceptCount="100" debug="0" scheme="https" secure="true" - useURIValidationHack="false" disableUploadTimeout="true"> - <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory" - clientAuth="false" protocol="TLS" /> - </Connector> - --> - - - <!-- An Engine represents the entry point (within Catalina) that processes - every request. The Engine implementation for Tomcat stand alone - analyzes the HTTP headers included with the request, and passes them - on to the appropriate Host (virtual host). --> - - <!-- Define the top level container in our container hierarchy --> - <Engine name="Standalone" defaultHost="localhost" debug="0"> - - <!-- The request dumper valve dumps useful debugging information about - the request headers and cookies that were received, and the response - headers and cookies that were sent, for all requests received by - this instance of Tomcat. If you care only about requests to a - particular virtual host, or a particular application, nest this - element inside the corresponding <Host> or <Context> entry instead. - - For a similar mechanism that is portable to all Servlet 2.3 - containers, check out the "RequestDumperFilter" Filter in the - example application (the source for this filter may be found in - "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters"). - - Request dumping is disabled by default. Uncomment the following - element to enable it. --> - <!-- - <Valve className="org.apache.catalina.valves.RequestDumperValve"/> - --> - - <!-- Global logger unless overridden at lower levels --> - <Logger className="org.apache.catalina.logger.FileLogger" - prefix="catalina_log." suffix=".txt" - timestamp="true"/> - - <!-- Because this Realm is here, an instance will be shared globally --> - - <Realm className="org.apache.catalina.realm.MemoryRealm" /> - - <!-- Define the default virtual host --> - <Host name="localhost" debug="0" appBase="webapps" - unpackWARs="true" autoDeploy="true"> - - <!-- Access log processes all requests for this virtual host. By - default, log files are created in the "logs" directory relative to - $CATALINA_HOME. If you wish, you can specify a different - directory with the "directory" attribute. Specify either a relative - (to $CATALINA_HOME) or absolute path to the desired directory. - --> - <Valve className="org.apache.catalina.valves.AccessLogValve" - directory="logs" prefix="localhost_access_log." suffix=".txt" - pattern="common"/> - - <!-- Logger shared by all Contexts related to this virtual host. By - default (when using FileLogger), log files are created in the "logs" - directory relative to $CATALINA_HOME. If you wish, you can specify - a different directory with the "directory" attribute. Specify either a - relative (to $CATALINA_HOME) or absolute path to the desired - directory.--> - <Logger className="org.apache.catalina.logger.FileLogger" - directory="logs" prefix="localhost_log." suffix=".txt" - timestamp="true"/> - - <!-- Define properties for each web application. This is only needed - if you want to set non-default properties, or have web application - document roots in places other than the virtual host's appBase - directory. --> - - <!-- Tomcat Root Context --> - <!-- - <Context path="" docBase="ROOT" debug="0"/> - --> - - </Host> - - </Engine> - - </Service> - -</Server> - diff --git a/spss.slinterface/conf/tomcat/unix/moa-env.sh b/spss.slinterface/conf/tomcat/unix/moa-env.sh deleted file mode 100644 index 0e5ca3167..000000000 --- a/spss.slinterface/conf/tomcat/unix/moa-env.sh +++ /dev/null @@ -1,16 +0,0 @@ -# MOA SL configuration properties file -MOA_SL_CFG_HOME=$CATALINA_BASE/conf/moa-sl -PARAM_SLCONFIG=-Dat.gv.egovernment.moa.spss.slinterface.PropertiesLocation=$MOA_SL_CFG_HOME/moa-sl.properties - -# MOA SL log4j configuration file -MOA_SL_LOG4J_HOME=$CATALINA_BASE/conf/log4j -PARAM_LOGGING=-Dlog4j.configuration=file:$MOA_SL_LOG4J_HOME/log4j.properties - -# SSL options, if Tomcat should be used for checking client authenticity -# PARAM_TRUST_STORE=-Djavax.net.ssl.trustStore=truststore.jks -# PARAM_TRUST_STORE_PASS=-Djavax.net.ssl.trustStorePassword=changeit -# PARAM_TRUST_STORE_TYPE=-Djavax.net.ssl.trustStoreType=jks - -export CATALINA_OPTS="$PARAM_SLCONFIG $PARAM_LOGGING $ $PARAM_TRUST_STORE $PARAM_TRUST_STORE_PASS $PARAM_TRUST_STORE_TYPE" - -echo CATALINA_OPTS=$CATALINA_OPTS diff --git a/spss.slinterface/conf/tomcat/win32/starttomcat.bat b/spss.slinterface/conf/tomcat/win32/starttomcat.bat deleted file mode 100644 index d792f7777..000000000 --- a/spss.slinterface/conf/tomcat/win32/starttomcat.bat +++ /dev/null @@ -1,45 +0,0 @@ -rem ---------------- -rem Java home -rem ---------------- - -rem JDK home directory (no trailing path separator) -set JAVA_HOME=<Java JDK home directory> - -rem Java endorsed directory -rem If not set, the catalina scripts default applies (%CATALINA_HOME%/common/endorsed) -rem set JAVA_ENDORSED_DIRS=<Java endorsed directory> - -rem ---------------- -rem Tomcat config -rem ---------------- - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME=<Tomcat home directory> - -rem Tomcat 4.1.x base directory (no trailing path separator) -rem If you do not work with bases, please set base directory to CATALINA_HOME -set CATALINA_BASE=%CATALINA_HOME% - -rem ---------------- -rem MOA SL config -rem ---------------- - -rem MOA SL configuration properties file -set MOA_SL_CFG_HOME=%CATALINA_BASE%\conf\moa-sl -set PARAM_SLCONFIG=-Dat.gv.egovernment.moa.spss.slinterface.PropertiesLocation=%MOA_SL_CFG_HOME%\moa-sl.properties - -rem MOA SL log4j configuration file -set MOA_SL_LOG4J_HOME=%CATALINA_BASE%\conf\log4j -set PARAM_LOGGING=-Dlog4j.configuration=file:%MOA_SL_LOG4J_HOME%\log4j.properties - -rem SSL options, if Tomcat should be used for checking client authenticity -rem set PARAM_TRUST_STORE=-Djavax.net.ssl.trustStore=truststore.jks -rem set PARAM_TRUST_STORE_PASS=-Djavax.net.ssl.trustStorePassword=changeit -rem set PARAM_TRUST_STORE_TYPE=-Djavax.net.ssl.trustStoreType=jks - -rem set PARAMS_SSL=%PARAM_TRUST_STORE% %PARAM_TRUST_STORE_PASS% %PARAM_TRUST_STORE_TYPE% -set PARAMS_MOA=%PARAM_SLCONFIG% %PARAM_LOGGING% -set CATALINA_OPTS=%PARAMS_MOA% %PARAMS_SSL% - -cd %CATALINA_HOME% -bin\catalina.bat run diff --git a/spss.slinterface/conf/tomcat/win32/stoptomcat.bat b/spss.slinterface/conf/tomcat/win32/stoptomcat.bat deleted file mode 100644 index 0c33e43ee..000000000 --- a/spss.slinterface/conf/tomcat/win32/stoptomcat.bat +++ /dev/null @@ -1,24 +0,0 @@ -rem ---------------- -rem Java home -rem ---------------- - -rem JDK home directory (no trailing path separator) -set JAVA_HOME=<Java JDK home directory> - -rem Java endorsed directory -rem If not set, the catalina scripts default applies (%CATALINA_HOME%/common/endorsed) -rem set JAVA_ENDORSED_DIRS=<Java endorsed directory> - -rem ---------------- -rem Tomcat config -rem ---------------- - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME=<Tomcat home directory> - -rem Tomcat 4.1.x base directory (no trailing path separator) -rem If you do not work with bases, please set base directory to CATALINA_HOME -set CATALINA_BASE=%CATALINA_HOME% - -cd %CATALINA_HOME% -bin\catalina.bat stop
\ No newline at end of file diff --git a/spss.slinterface/handbook/common/LogoBKA.png b/spss.slinterface/handbook/common/LogoBKA.png Binary files differdeleted file mode 100644 index 6a92647fd..000000000 --- a/spss.slinterface/handbook/common/LogoBKA.png +++ /dev/null diff --git a/spss.slinterface/handbook/common/LogoMoa4c.jpg b/spss.slinterface/handbook/common/LogoMoa4c.jpg Binary files differdeleted file mode 100644 index a1102090b..000000000 --- a/spss.slinterface/handbook/common/LogoMoa4c.jpg +++ /dev/null diff --git a/spss.slinterface/handbook/common/LogoMoaBw.jpg b/spss.slinterface/handbook/common/LogoMoaBw.jpg Binary files differdeleted file mode 100644 index 5a31e3e15..000000000 --- a/spss.slinterface/handbook/common/LogoMoaBw.jpg +++ /dev/null diff --git a/spss.slinterface/handbook/common/MOA.css b/spss.slinterface/handbook/common/MOA.css deleted file mode 100644 index b8428d58d..000000000 --- a/spss.slinterface/handbook/common/MOA.css +++ /dev/null @@ -1,300 +0,0 @@ -body -{ - font-family: "Times New Roman", Times, serif; - font-size: medium; - font-weight: normal; - margin-left: 2.5em; - margin-right: 2.5em; -} - -p -{ - margin-top: 0pt; - margin-bottom: 0.5em; - text-align: justify -} - -pre -{ - font-family: "Courier New", monospace; - font-size: 90%; - background-color: #cccccc; - color: #000000; - margin-left:1.5%; - margin-right:1.5%; - margin-top: 1em; - margin-bottom: 1em; - border: #008000 none; -} - -hr -{ - color: #000080; - background-color: #000080; - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -table.fixedWidth -{ - width: 97%; - margin-left:1.5%; - margin-right:1.5%; - margin-top: 1em; - margin-bottom: 1em; -} - - -table.varWidth -{ - margin-left:1.5%; - margin-top: 1em; - margin-bottom: 1em; -} - -th -{ - text-align: left; -} - -h1 -{ - color: #000080; - text-align: left; - font-size: 167%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h2 -{ - color: #000080; - font-size: 150%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h3 -{ - color: #000080; - font-size: 133%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h4 -{ - color: #000080; - font-size: 116%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h5 -{ - color: #000080; - font-size: 100%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h6 -{ - color: #000080; - font-size: 83%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -code -{ - font-family: "Courier New", Courier, monospace; - font-size: 90%; - color: #000000 -} - -dd -{ - margin-top: 0.8em; - margin-bottom: 0.8em; - text-align: justify - -} - -dt -{ - margin-top: 0.8em; - font-family: Arial, Helvetica, sans-serif; - color: #000080 -} - -ol -{ - margin-top: 0.5em; - margin-bottom: 0.5em -} - -ol.alpha -{ - list-style-type: lower-alpha -} - -li -{ - margin-top: 0.25em; - margin-bottom: 0.25em; - text-align: justify -} - -a:hover -{ - color: #990000 -} - - -.title -{ - text-align: left; - font-size: 167%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; - margin-top: 0.4em; - margin-bottom: 0.4em -} - -.subtitle -{ - text-align: left; - font-size: 133%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; - margin-top: 0.4em; - margin-bottom: 0.4em -} - -.glossaryTerm -{ - font-style: italic; - color: #006699 -} - -.example -{ - font-family: "Courier New", monospace; - background-color: #CCFFFF; - color: #000000; - margin: 0pt 0pt; - border: #008000 none -} - -.schema -{ - font-family: "Courier New", monospace; - background-color: #FFFFCC; - color: #000000; - margin: 0pt 0pt; - border: #008000 none -} - -.documentinfo -{ - font-family: Arial, Helvetica, sans-serif; - font-size: 100%; -} - -.ol-contents -{ - font-size: 100%; - margin-top: 0.0em; - margin-bottom: 0.0em; -} - -.li-contents -{ - font-size: 100%; - margin-top: 0.0em; - margin-bottom: 0.0em; -} - -.logoTitle -{ - text-align: center; - font-size: 133%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; -} - -.logoTable -{ - margin-bottom: 0px; - margin-left: 0px -} - -.superscript -{ - vertical-align: super; - font-size: 66%; -} - -.term -{ - font-style: italic; -} - -.comment -{ - color: #000000; - background: #ffff00; - font-style: italic -} - -.addedErrata12 -{ - color: #FF0000; - background-color: #FFEEEE; - text-decoration: underline -} - -.deletedErrata12 -{ - color: #999999; - background-color: #EEEEEE; - text-decoration: line-through -} - -.added12 -{ - color: #FF0000; - text-decoration: underline -; background-color: #F8F0FF -} - -.deleted12 -{ - color: #999999; - text-decoration: line-through -; background-color: #f8f0ff -} - -.rfc2119Keyword -{ - font-variant: small-caps; - font-style: normal; -} - -.remark { font-style: italic} - -li.faq -{ - margin-top: 1.5em; - margin-bottom: 1.5em; -} - -.faq-question -{ - color: #000080; - font-size: 100%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - margin-bottom: 0.4em; -} diff --git a/spss.slinterface/handbook/constraints.txt b/spss.slinterface/handbook/constraints.txt deleted file mode 100644 index f21d385c8..000000000 --- a/spss.slinterface/handbook/constraints.txt +++ /dev/null @@ -1,6 +0,0 @@ -- Prüfung eines ggf. vorhandenen SL-Manifests wird nicht durchgeführt. - In der Antwort wird der Code 98 zurückgeliefert. - -- Prüfung von dsig-Manifesten escheint nicht in der Auswertungsseite. - -- Bei signiertem XHTML-Dokument wird list-style-image-URL nicht geprüft.
\ No newline at end of file diff --git a/spss.slinterface/handbook/index.html b/spss.slinterface/handbook/index.html deleted file mode 100644 index e8b496563..000000000 --- a/spss.slinterface/handbook/index.html +++ /dev/null @@ -1,41 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - -<html> -<head> - <title>MOA SL - Übersicht</title> - <meta content="Evrsoft First Page" name="GENERATOR"> - <meta http-equiv="content-type" content="text/html; charset=us-ascii"> - <link href="./common/MOA.css" type="text/css" rel="stylesheet"> -</head> - -<body text="#000000" vlink="#666666" alink="#CC9966" link="#990000" bgcolor="white"> - <table class="logoTable" cellspacing="0" cellpadding="10" width="100%" border="0"> - <tbody> - <tr> - <td class="logoTitle" align="middle" width="267"><img height="37" alt="Logo BKA" src="common/LogoBKA.png" width="267" align="left"></td> - - <td class="logoTitle" align="middle">Open Source<br> - für das E-Government</td> - - <td class="logoTitle" align="middle" width="123"><img height="138" alt="Logo MOA" src="common/LogoMoa4c.jpg" width="123" align="right"></td> - </tr> - </tbody> - </table> - <hr> - - <p class="title">MOA: Serverseitige Signaturprüfung (SL) </p> - - <p class="subtitle">Übersicht zur Dokumentation der Version 1.0</p> - <hr> - - <dl> - <dt><a href="./operation/operation.html">Betriebshandbuch </a></dt> - - <dd>Detaillierte Anleitung für die Installation sowie Erläuterung aller Konfigurationsoptionen.</dd> - - <dt><a href="./system/system.html">Systemhandbuch</a></dt> - - <dd>Beschreibung der einzelnen Komponenten von MOA SL und ihrem Zusammenspiel.</dd> - </dl> -</body> -</html> diff --git a/spss.slinterface/handbook/operation/images/testapp.screen1.png b/spss.slinterface/handbook/operation/images/testapp.screen1.png Binary files differdeleted file mode 100644 index 38a226d09..000000000 --- a/spss.slinterface/handbook/operation/images/testapp.screen1.png +++ /dev/null diff --git a/spss.slinterface/handbook/operation/images/testapp.screen2.png b/spss.slinterface/handbook/operation/images/testapp.screen2.png Binary files differdeleted file mode 100644 index 45230d5c9..000000000 --- a/spss.slinterface/handbook/operation/images/testapp.screen2.png +++ /dev/null diff --git a/spss.slinterface/handbook/operation/images/testapp.screen3.png b/spss.slinterface/handbook/operation/images/testapp.screen3.png Binary files differdeleted file mode 100644 index 7d5db9cad..000000000 --- a/spss.slinterface/handbook/operation/images/testapp.screen3.png +++ /dev/null diff --git a/spss.slinterface/handbook/operation/images/testapp.screen4.png b/spss.slinterface/handbook/operation/images/testapp.screen4.png Binary files differdeleted file mode 100644 index 9fe7ee264..000000000 --- a/spss.slinterface/handbook/operation/images/testapp.screen4.png +++ /dev/null diff --git a/spss.slinterface/handbook/operation/operation.html b/spss.slinterface/handbook/operation/operation.html deleted file mode 100644 index 05287b293..000000000 --- a/spss.slinterface/handbook/operation/operation.html +++ /dev/null @@ -1,1351 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - - <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> - <title>MOA SL - Betriebshandbuch</title> - - - <link rel="stylesheet" href="../common/MOA.css" type="text/css"> - -</head> - - -<body style="color: rgb(0, 0, 0); background-color: white;" alink="#cc9966" link="#990000" vlink="#666666"> - -<table class="logoTable" border="0" cellpadding="10" cellspacing="0" width="100%"> - - <tbody> - - <tr> - - <td class="logoTitle" align="center" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" align="left" height="37" width="267"></td> - - <td class="logoTitle" align="center">Open -Source<br> - -für das E-Government</td> - - <td class="logoTitle" align="center" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" align="right" height="138" width="123"></td> - - </tr> - - </tbody> -</table> - -<hr> -<p class="title"><a href="../index.html">MOA: -Serverseitige Signaturprüfung (SL), V 1.1</a></p> - -<p class="subtitle">Betriebshandbuch</p> - -<hr> -<h1>Inhalt</h1> - -<ol> - - <li> - <p><a href="#%FCbersicht">Übersicht</a></p> - - </li> - - <li><a href="#installation">Installation</a> - <ol> - - <li><a href="#installation_einf%FChrung">Einführung</a></li> - - <li><a href="#installation_vorbereitung">Vorbereitung</a></li> - - <li><a href="#installation_tomcatconfig">Konfiguration -von Apache Tomcat</a> - <ol> - - <li><a href="#installation_tomcatconfig_httpconn">Konfiguration -des HTTP Connectors</a></li> - - <li><a href="#installation_tomcatconfig_httpsconn">Konfiguration -des HTTPS Connectors</a></li> - - </ol> - - </li> - - <li><a href="#installation_deploy">Einsatz des -MOA SL Webservices in Tomcat</a></li> - - <li><a href="#installation_tomcatstartstop">Starten -und Stoppen von Tomcat</a> - <ol> - - <li><a href="#installation_tomcatstartstop_windows">Unter -Windows</a></li> - - <li><a href="#installation_tomcatstartstop_unix">Unter -Unix</a></li> - - <li><a href="#installation_tomcatstartstop_logging">Logging</a> - <ol> - - <li><a href="#webservice_basisinstallation_logging_format">Format -der Log-Meldungen</a> </li> - - </ol> - - </li> - - <li><a href="#installation_tomcatstartstop_verify">Prüfen -des erfolgreichen Starts</a></li> - - </ol> - - </li> - - </ol> - - </li> - - <li><a href="#konfiguration">Konfiguration</a> - <ol> - - <li><a href="#konfiguration_konfigurationsdatei">Zentrale -Konfigurationsdatei</a> - <ol> - - <li><a href="#konfiguration_konfigurationsdatei_schemata">XML-Schemata -für Request- und Response-Validierung</a></li> - - <li><a href="#konfiguration_konfigurationsdatei_arbeitsverzeichnis">Arbeitsverzeichnis</a></li> - - <li><a href="#konfiguration_konfigurationsdatei_moasp">Parameter -der verwendeten MOA SP Installation</a></li> - - <li><a href="#konfiguration_konfigurationsdatei_umfang">Umfang der -Prüfberichtseite</a></li> - - <li><a href="#konfiguration_konfigurationsdatei_umschreiben">Parameter -für das Umschreiben der Links in der Prüfberichtseite</a></li> - - </ol> - - </li> - - <li><a href="#konfiguration_layout">Layout des -Prüfberichts</a> </li> - - </ol> - - </li> - - <li><a href="#testapp">Durchlaufen der -Testapplikation</a> </li> - -</ol> - -<hr> -<h1><a name="übersicht" id="übersicht"></a>1 -Übersicht</h1> - -<p> Das Modul<span class="term"> Serverseitige -Signaturprüfung</span> (MOA SL) ist als -plattformunabhängiges Modul ausgelegt, das als Webservice -über HTTP bzw. HTTPS angesprochen werden kann. </p> - -<p>Dieses Handbuch beschreibt einerseits die Installation des -Moduls, andererseits werden die Konfigurationsmöglichkeiten -dargestellt. Für eine funktionale Beschreibung des Moduls -siehe <a href="../system/system.html">Systemhandbuch</a>. -</p> - -<h1><a name="installation" id="installation"></a>2 -Installation</h1> - -<h2><a name="installation_einführung" id="installation_einführung"></a>2.1 -Einführung </h2> - -<p>Das MOA SL Webservice wurde plattformunabhänig -konzipiert und in Java entwickelt. Es benötigt als -Ablaufumgebung eine Java 2 Standard Edition (J2SE SDK, Version <a href="http://java.sun.com/j2se/1.4.2/">1.4.2</a> oder <a href="http://java.sun.com/j2se/1.5.0/">5.0</a>) sowie -einen Java Servlet Container, der die <a href="http://java.sun.com/products/servlet/reference/api/index.html">Java -Servlet Specification</a> in der Version 2.3 erfüllt.</p> - -<p>In diesem Betriebshandbuch wird davon ausgegangen, dass MOA SL -<a href="http://jakarta.apache.org/tomcat/index.html">Apache -Tomcat</a> (Version 4.1 oder höher) als Servlet -Container verwendet. Die Verwendung eines anderen Servlet Containers -ist grundsätzlich möglich, wurde aber nicht getestet -und ist auch nicht Gegenstand dieses Betriebshandbuchs. </p> - -<p>Weiters wird davon ausgegangen, dass Apache Tomcat -gleichzeitig als HTTP- bzw. HTTPS-Endpunkt für das MOA SL -Webservice dient, d.h. beide Protokolle werden direkt in Tomcat -konfiguriert. Die Verwendung eines vor Apache Tomcat geschalteten -Webservers ist grundsätzlich möglich. So werden etwa -als Teil des Apache Tomcat Projekts <a href="http://tomcat.apache.org/connectors-doc/">Module</a> -zur Verbindung mit einem vorgeschalteten Microsoft Internet Information -Server oder mit einem vorgeschalteten Apache Webserver angeboten. Die -Beschreibung der möglichen Vorschaltungen ist jedoch nicht -Teil dieses Betriebshandbuchs. </p> - -<p>Das MOA SL Webservice nimmt Signaturprüfungsrequests -für XML-Signaturen entsprechend der Spezifikation des -Security-Layers zur österreichischen Bürgerkarte in -den Versionen 1.1 und 1.2 entgegen. Für die -Durchführung der Signaturprüfung bedient sich MOA SL -des Moduls MOA Signaturprüfung (SP). Für den Betrieb -von MOA SL ist daher die Verfügbarkeit einer -Webservice-Installation von MOA SP in der Version 1.2 oder -höher Voraussetzung. </p> - -<p>Als Logging Toolkit verwendet das MOA SL Webservice <a href="http://logging.apache.org/log4j/">Apache Log4j</a>. -</p> - -<h2><a name="installation_vorbereitung" id="installation_vorbereitung"></a>2.2 Vorbereitung</h2> - -<p>Die folgenden Schritte dienen der Vorbereitung der -Installation.</p> - -<dl> - - <dt>Installation von J2SE SDK</dt> - - <dd>Installieren Sie <a href="http://java.sun.com/j2se/1.4.2/">J2SE 1.4.2 SDK</a> -oder <a href="http://java.sun.com/j2se/1.5.0/">J2SE 5.0 -SDK</a> in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der -J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> -bezeichnet. </dd> - - <dt>Installation von Apache Tomcat</dt> - - <dd> Installieren Sie <a href="http://jakarta.apache.org/tomcat/index.html">Apache -Tomcat</a> 4.1.31 oder höher in ein Verzeichnis, das -keine Leerzeichen im Pfadnamen enthält. Verwenden Sie bitte -die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das -Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code> -bezeichnet.</dd> - - <dt>Installation von MOA SP </dt> - - <dd>Installieren Sie das <a href="http://www.cio.gv.at/onlineservices/basicmodules/moa-spss/">Kombinationsmodul -MOA SPSS</a> Version 1.3 oder höher entsprechend seiner -Installationsanleitung. Sie benötigen die -Webservice-Schnittstelle von MOA SP. Es ist ausreichend, mittels -entsprechender Konfigurationseinstellungen ausschließlich MOA -SP zu aktivieren; MOA SS kann deaktiviert bleiben. Wenn Sie sowohl -für MOA SPSS als auch für MOA SL Apache Tomcat als -Servlet Container verwenden möchten, empfehlen wir, MOA SPSS -und MOA SL in jeweils eigenständigen Instanzen von Apache -Tomcat zu betreiben. </dd> - - <dt>Entpacken der MOA SL Distribution</dt> - - <dd> Entpacken Sie die Datei <code>moa-sl-1.1.x.zip</code> -in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren -Verlauf als <code>$MOA_SL_INST</code> bezeichnet. </dd> - -</dl> - -<h2><a name="installation_tomcatconfig" id="installation_tomcatconfig"></a>2.3 Konfiguration -von Apache Tomcat</h2> - -<p> Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>. -Tomcat wird grundsätzlich mit einer funktionierenden -Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast -enthält und viele Ports offen lässt. </p> - -<h3><a name="installation_tomcatconfig_httpconn" id="installation_tomcatconfig_httpconn"></a>2.3.1 -Konfiguration des HTTP Connectors</h3> - -<p> Die Datei <code>$MOA_SL_INST/conf/tomcat/server.xml</code> -enthält eine minimale Tomcat-Konfiguration, die -ausschließlich den Connector für HTTP auf Port 8080 -freischaltet. Durch kopieren dieser Datei nach <code>$CATALINA_HOME/conf/server.xml</code> -kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen -diese Konfiguration nur für Fälle, in denen das MOA -SL Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird. -</p> - -<h3><a name="installation_tomcatconfig_httpsconn" id="installation_tomcatconfig_httpsconn"></a>2.3.2 -Konfiguration des HTTPS Connectors</h3> - -<p>Wird das MOA SL Webservice in einer nicht abgeschlossenen -Umgebung (z.B. Erreichbarkeit über das Internet) betrieben, -ist es für den Benutzer von MOA SL essentiell, die -Identität des Webservice eindeutig feststellen zu -können, denn er vertraut dem Webservice ja die -Prüfung einer elektronischen Signatur an. Diese -Identitätsprüfung kann mit hoher Qualität -vorgenommen werden, wenn die Erreichbarkeit des Webservice auf HTTPS -mit Serverauthentisierung eingeschränkt wird. </p> - -<p>Für die dazu notwendige Konfiguration kann die im -vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als -Ausgangspunkt verwendet werden: Zunächst ist der HTTP -Connector abzuschalten (auszukommentieren). Anschließend ist -der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html">Tomcat -SSL Configuration HOW-TO </a> gibt einen guten -Überblick dazu. Grob zusammengefasst sind folgende Schritte -durchzuführen: </p> - -<ul> - - <li>Erstellung eines <span class="term">Server-Keystores</span>, -der den privaten Schlüssel sowie das zugehörige -Zertifikat des Webservices enthält, mit dem es sich bei Aufbau -einer SSL-Verbindung gegenüber dem Kunden ausweist. Sie -können diesen Keystore z.B. mit <code>keytool</code> -erstellen, einem Programm, das Ihrem J2SE SDK beiliegt.</li> - - <li>Erstellung eines <span class="term">Client-Keystores</span>, -der die Zertifikate aller Kunden des Webservices enthält. Nur -Kunden des MOA SL Webservices, die sich beim Aufbau einer -SSL-Verbindung gegenüber dem Webservice mit einem im <span class="term">Client-Keystore</span> enthaltenen -Zertifikat ausweisen, erhalten Zugriff zu den Diensten des MOA SL -Webservices. Auch dieser Keystore kann z.B. mit <code>keytool</code> -erstellt werden. Dieser Keystore ist optional und braucht nur erstellt -zu werden, wenn sich die Kunden gegenüber dem MOA SL -Webservice authentisieren müssen. </li> - - <li>Konfiguration des HTTPS Connectors in <code>$CATALINA_HOME/conf/server.xml</code>.</li> - -</ul> - -<p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn -Tomcat ein Webserver vorgeschaltet ist, und dieser die -SSL-Kommunikation mit dem Kunden übernimmt (siehe <a href="#installation_einf%FChrung">Abschnitt 2.1</a>).</p> - -<h2><a name="installation_deploy" id="installation_deploy"></a>2.4 Einsatz des MOA SL -Webservices in Tomcat</h2> - -<p> Um das MOA SL Webservice in Tomcat für den Einsatz -vorzubereiten, sind folgende Schritte notwendig:</p> - -<ul> - - <li>Die Datei <code>$MOA_SL_INST/moa-sl.war</code> -enthält das einsatzfertige MOA SL Webarchiv und muss ins -Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert -werden. Dort wird sie beim ersten Start von Tomcat automatisch ins -Verzeichnis <code>$CATALINA_HOME/webapps/moa-sl</code> -entpackt. </li> - - <li>Die zentrale Konfigurationsdatei für MOA SL muss -in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-sl/</code>). -Eine funktionsfähige Konfiguration, die als Ausgangspunkt -für die Konfiguration des MOA SL Webservices dienen kann, -finden Sie unter <code>$MOA_SL_INST/conf/moa-sl/moa-sl.properties</code>. - </li> - - <li>Die Dateien <code>xalan.jar</code>, <code>xercesImpl.jar</code> -und <code>xmlParserAPIs.jar</code> aus dem Verzeichnis <code>$MOA_SL_INST/endorsed14</code> -müssen in das Tomcat-Verzeichnis <code>$CATALINA_HOME/common/endorsed</code> -kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, -müssen sie überschrieben werden. Die ggf. in diesem -Verzeichnis vorhandene Datei <code>xml-apis.jar</code> -muss gelöscht werden.</li> - - <li>Folgende <span class="term">System Properties</span> -für die <span class="term">Java Virtual Machine</span> -müssen bzw. können gesetzt werden. Am einfachsten -können diese <span class="term">System Properties</span> -beim Starten von Tomcat in der Umgebungsvariablen <code>CATALINA_OPTS</code> -in der Form <code>-D<name>=<wert></code> -übergeben werden. - <ul> - - <li id="klein"><code>at.gv.egovernment.moa.spss.slinterface.PropertiesLocation</code>: -Pfad und Name der zentralen Konfigurationsdatei für MOA SL. -Eine beispielhafte Konfigurationsdatei finden Sie unter <code>$MOA_SL_INST/conf/moa-sl/moa-sl.properties</code>. -Wird ein relativer Pfad angegeben, wird zuerst versucht, diesen relativ -zum Wurzelverzeichnis der Webapplikation (also <code>$CATALINA_HOME/webapps/moa-sl</code>) -zu interpretieren. Klappt das nicht, wird dann versucht, den relativen -Pfad relativ zum Startverzeichnis der <span class="term">Java -Virtual Machine</span> zu interpretieren. Diese <span class="term">System Property</span> muss jedenfalls -gesetzt werden.</li> - - <li id="klein"><code>log4j.configuration</code>: -URL der Log4j Konfigurationsdatei. Eine beispielhafte -Log4j-Konfiguration finden Sie unter <code>$MOA_SL_INST/conf/log4j/log4j.properties</code>. Wird eine -relative URL angegeben, wird diese als File-URL relativ zum -Startverzeichnis der <span class="term">Java Virtual -Machine</span> interpretiert. Ist diese System Property nicht -gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> -enthaltene Default-Konfiguration herangezogen.</li> - - <li id="klein"><code>javax.net.ssl.trustStore</code>: -Pfad und Dateiname des <span class="term">Truststores</span> -für vertrauenswürdige SSL Client-Zertifikate -(optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL -Client-Authentisierung durchgeführt werden soll). Ein -relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li> - - <li id="klein"><code>javax.net.ssl.trustStorePassword</code>: -Passwort für den <span class="term">Truststore</span> -(optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL -Client-Authentisierung durchgeführt werden soll). </li> - - <li id="klein"><code>javax.net.ssl.trustStoreType</code>: -Truststore-Typ (optional; nur wenn kein Webserver vor Tomcat geschalten -wird und SSL Client-Authentisierung durchgeführt werden soll). -Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code> -(PKCS#12-Datei) angegeben werden.</li> - - </ul> - - </li> - -</ul> - -<h2><a name="installation_tomcatstartstop" id="installation_tomcatstartstop"></a>2.5 Starten und -Stoppen von Tomcat</h2> - -<h3><a name="installation_tomcatstartstop_windows" id="installation_tomcatstartstop_windows"></a>2.5.1 -Unter Windows</h3> - -<p>Das Verzeichnis <code>$MOA_SL_INST/conf/tomcat/win32</code> -enthält Script-Dateien zum Starten und Stoppen von Tomcat. Vor -der erstmaligen Verwendung der Scripts müssen in den ersten -Zeilen die Umgebungsvariablen <code>JAVA_HOME</code> -(Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> -(Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst -werden. Evtl. müssen Sie auch noch die in den Script-Dateien -gesetzten, in <a href="#installation_deploy">Abschnitt 2.4</a> -besprochenen <span class="term">System Properties</span> -anpassen. </p> - -<h3><a name="installation_tomcatstartstop_unix" id="installation_tomcatstartstop_unix"></a>2.5.2 Unter -Unix</h3> - -<p>Zunächst müssen die in <a href="#installation_deploy">Abschnitt 2.4</a> -besprochenen <span class="term">System Properties</span> -mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code> -gesetzt werden. Die Datei <code>$MOA_SL_INST/tomcat/unix/moa-env.sh</code> -enthält ein Beispiel dafür. Weiters müssen -noch die Umgebungsvariablen <code>JAVA_HOME</code> -(Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> -(Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst -werden.</p> - -<p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p> - -<pre>bin/catalina.sh start</pre> - -gestartet werden. Das Stoppen von Tomcat erfolgt analog mit -<pre>bin/catalina.sh stop</pre> - -<h3><a name="installation_tomcatstartstop_logging" id="installation_tomcatstartstop_logging"></a>2.5.3 -Logging </h3> - -<p>Das MOA SL Webservice verwendet <a href="http://logging.apache.org/log4j/">Apache Log4j</a> für die -Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j -bietet zahlreiche Konfigurationsmöglichkeiten, die -ausführlich im <a href="http://logging.apache.org/log4j/">Apache -Log4j</a> -Handbuch beschrieben sind. Unter anderem gibt es die -Möglichkeit, folgende Einstellungen vorzunehmen: -</p> - -<ul> - - <li id="klein"> - <p>Das verwendete Log-Level (<code>DEBUG</code>, <code>INFO</code>, - <code>WARN</code>, <code>ERROR</code>, <code>FATAL</code>);</p> - - </li> - - <li id="klein"> - <p>Name und maximale Größe der -Log-Datei(en);</p> - - </li> - - <li id="klein"> - <p>Das Aussehen der Log-Einträge.</p> - - </li> - -</ul> - -<p>Das MOA SL Webservice verwendet für alle -Logeinträge die Log-Hierarchie <code>slinterface</code>. -Für die einzelnen Pakete des MOA SL Webservices werden davon -abgeleitete Sub-Hierarchien eingesetzt, z.B. <code>slinterface.xmlparser</code>, -<code>slinterface.beans</code> oder <code>slinterface.filters</code>.</p> - -<p>Eine für MOA SL passende Konfigurationsdatei -für Log4j finden Sie unter <code>$MOA_SL_INST/conf/log4j/log4j.properties</code>. Wird diese -Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen -sowohl in die Konsole, als auch in die Datei <code>$CATALINA_HOME/logs/moa-sl.log</code> -geschrieben. </p> - -<h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.5.3.1 -Format der Log-Meldungen</h4> - -<p> Anhand einer konkreten Log-Meldung wird das Format der MOA SL -Log-Meldungen erläutert: </p> - -<pre>INFO | 10 15:58:45,531 | slinterface.listeners | main | <br> Web application initialization succeeded..</pre> - -<p> Der Wert <code>INFO</code> besagt, dass die -Log-Meldung im Log-Level <code>INFO</code> entstanden ist. -Folgende Log-Levels existieren:</p> - -<ul> - - <li> - <p><code>DEBUG</code>: Log-Meldungen im Log-Level - <code>DEBUG</code> geben Auskunft über die -innere Arbeitsweise des Systems. Sie sind hauptsächlich -für Entwickler interessant.</p> - - </li> - - <li> - <p><code>INFO</code>: Diese Log-Meldungen geben -Status-Informationen über den Ablauf des Webservices, wie z.B. -über das Einlangen einer neuen Anfrage.</p> - - </li> - - <li> - <p><code>WARN</code>: Bei der Ausführung -einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des -Webservices ist nicht weiter beeinträchtigt.</p> - - </li> - - <li> - <p><code>ERROR</code>: Die Ausführung -einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht -beeinträchtigt. </p> - - </li> - - <li> - <p><code>FATAL</code>: Es ist ein Fehler -aufgetreten, der den weiteren Betrieb des Webservices nicht mehr -erlaubt.</p> - - </li> - -</ul> - -<p>Der nächste Wert <code>10 15:58:45,531</code> -gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in -diesem Fall den 10. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p> - -<p>Der Wert <code>slinterface.listeners</code> gibt -die Log-Hierarchie an, aus der die Log-Meldung stammt. </p> - -<p>Der Wert <code>main</code> bezeichnet den Thread, -aus der die Log-Meldung stammt. </p> - -<p>Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, -mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist -häufig ein Java Stack-Trace angefügt, der eine -genauere Ursachen-Forschung ermöglicht.</p> - -<h3><a name="installation_tomcatstartstop_verify" id="installation_tomcatstartstop_verify"></a>2.5.4 -Prüfen des erfolgreichen Starts </h3> - -<p>Ein erfolgreicher Start des MOA SL Webservices ist an -folgender Log-Meldung ersichtlich: </p> - -<pre>INFO | 10 15:58:45,531 | slinterface.listeners | main | <br> Web application initialization succeeded..</pre> - -<p>Konnte das MOA SL Webservice nicht -ordnungsgemäß gestartet werden, führt das -zu folgender Log-Meldung:</p> - -<pre>FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> <br> Web application initialization failed.<br></pre> - -<p>In diesem Fall geben die<code> </code>Log-Meldungen -unmittelbar davor Aufschluss über den genaueren Grund. </p> - -<p>Fehlermeldungen während der Initialisierung des -XML-Parsers, die wie nachfolgend dargestellt aussehen, können -ignoriert werden. Sie resultieren aus einem Bug im eingesetzten -XML-Parser Apache Xerces in der Version 2.6.2. </p> - -<pre>[Error] xhtml-attribs-1.xsd:<em>xx</em>:<em>xx</em>: src-attribute_group.3: <br> Circular definitions detected for attribute group '<em>xxx</em>'. <br> Recursively following attribute group references eventually leads back to itself.<br>[Error] xhtml-attribs-1.xsd:<em>xx</em>:<em>xx</em>: src-redefine.7.2.1: <br> No attributeGroup in the redefined schema has a name matching '<em>xx</em>'.</pre> - -<h1><a name="konfiguration" id="konfiguration"></a>3 -Konfiguration</h1> - -<h2><a name="konfiguration_konfigurationsdatei" id="konfiguration_konfigurationsdatei"></a>3.1 -Zentrale Konfigurationsdatei</h2> - -<p>Alle Konfigurationsparameter von MOA SL mit Ausnahme des -Layouts für den Prüfbericht (siehe Abschnitt <a href="#konfiguration_layout">3.2</a>) sind in einer -zentralen Konfigurationsdatei zusammengefasst. Eine beispielhafte -Konfigurationsdatei finden Sie unter <code>$MOA_SL_INST/conf/moa-sl/moa-sl.properties</code>. -Für Hinweise, wie Sie dem MOA SL Webservice mitteilen, welche -Konfigurationsdatei es verwenden soll, siehe Abschnitt <a href="#installation_deploy">2.4</a>. </p> - -<p>In den folgenden Abschnitten werden die einzelnen -Konfigurationsparameter der zentralen Konfigurationsdatei im Detail -besprochen. Die meisten Konfigurationsparameter werden leichter -verständlich, wenn Sie zunächst<span style="font-style: italic;"> </span>das <a href="../system/system.html">Systemhandbuch<span class="comment"></span></a> lesen. Dort werden -der gesamte Ablauf eines Signaturprüfvorgangs in MOA SL sowie -die daran beteiligten Komponenten erklärt. </p> - -<p>Die Konfigurationsdatei ist als <span class="term">Java -Properties</span> Datei aufgebaut, d. h. jede Zeile -enthält den Namen sowie den Wert des jeweiligen -Konfigurationsparameters in der Form <code>name=wert</code>. -Details zum Aufbau einer <span class="term">Java -Properties</span> Datei finden Sie in der API-Dokumentation zu -Ihrem Java JDK, beispielsweise <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html">hier</a>. -</p> - -<h3><a name="konfiguration_konfigurationsdatei_schemata" id="konfiguration_konfigurationsdatei_schemata"></a>3.1.1 -XML-Schemata für Request- und Response-Validierung</h3> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>location.schema.sl</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Mit diesem Konfigurationsparameter wird MOA SL -mitgeteilt, wo es das XML-Schema für die Validierung eines -eingehenden Signaturprüfungsrequests nach Security-Layer V1.2 -findet. </p> - - <p>Der Konfigurationsparameter muss als Wert einen Pfad -enthalten, der mit <code>/</code> beginnt, und der von MOA -SL als relativ zum <span class="term">Context Root</span> -der Webapplikation interpretiert wird.</p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>/WEB-INF/classes/resources/schemas/Core.20031231.xsd</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>location.schema.moa</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Mit diesem Konfigurationsparameter wird MOA SL -mitgeteilt, wo es das XML-Schema für die Validierung eines von -MOA SP empfangenen Signaturprüfungsresponses nach MOA SPSS -V1.3 findet. </p> - - <p>Der Konfigurationsparameter muss als Wert einen Pfad -enthalten, der mit <code>/</code> beginnt, und der von MOA -SL als relativ zum <span class="term">Context Root</span> -der Webapplikation interpretiert wird.</p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>/WEB-INF/classes/resources/schemas/MOA-SPSS-1.3.xsd</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<h3><a name="konfiguration_konfigurationsdatei_arbeitsverzeichnis" id="konfiguration_konfigurationsdatei_arbeitsverzeichnis"></a>3.1.2 -Arbeitsverzeichnis</h3> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>location.tempdir</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Mit diesem Konfigurationsparameter wird MOA SL -mitgeteilt, wo es das Arbeitsverzeichnis zum Ablegen der von einer -geprüften Signatur abgesicherten Dokumente findet. Diese -Dokumente werden temporär gespeichert, damit sie vom Benutzer -über den Prüfbericht abgerufen werden -können. </p> - - <p>Der Konfigurationsparameter muss als Wert einen Pfad -enthalten, der von MOA SL als relativ zum <span class="term">Context -Root</span> der Webapplikation interpretiert wird. Der angegebene -Pfad muss einen abschließenden <code>/</code> -aufweisen und im Dateisystem tatsächlich existieren. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>/workdir/temp/</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<h3><a name="konfiguration_konfigurationsdatei_moasp" id="konfiguration_konfigurationsdatei_moasp"></a>3.1.3 -Parameter der verwendeten MOA SP Installation</h3> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>service.sp.endpoint</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Mit diesem Konfigurationsparameter wird MOA SL der -Zugangspunkt zum Webservice von MOA SP mitgeteilt. </p> - - <p>Der Konfigurationsparameter muss eine URL enthalten, die -von MOA SL aus erreichbar ist und den Zugangspunkt zu MOA SP -adressiert. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>http://localhost:8080/moa-spss/services/SignatureVerification</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>service.sp.trustProfileId</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Mit diesem Konfigurationsparameter wird MOA SL -mitgeteilt, welches Vertrauensprofil es im Signaturprüfrequest -an MOA SP verwenden soll. </p> - - <p>Der Konfigurationsparameter muss den Bezeichner eines in -MOA SP hinterlegten Vertrauensprofils enthalten.</p> - - <p class="remark">Hinweis: Zum Durchlaufen der -Testapplikation nach Abschnitt <a href="#testapp">4</a> -dieses Handbuchs müssen Sie in MOA SP ein Vertrauensprofil mit -dem Namen <code>MOA-SL-Test</code> einrichten. Unter <code>$MOA_SL_INST/conf/moa-spss/trustprofiles/spssconfig.fragment - </code>finden Sie das dazu notwendige XML-Fragment zum -Einfügen in die Konfigurationsdatei von MOA SP. Unter <code>$MOA_SL_INST/conf/moa-spss/trustprofiles/moa-sl/test/</code> -finden Sie das im XML-Fragment referenzierte Verzeichnis mit den -für das Vertrauensprofil notwendigen Zertifikatsdateien. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>MOA-SL-Test</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<h3><a name="konfiguration_konfigurationsdatei_umfang" id="konfiguration_konfigurationsdatei_umfang"></a>3.1.4 -Umfang der Prüfberichtseite</h3> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>result.showetsi</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter gibt an, ob MOA SL auf -der Prüfberichtseite unter den signierten Dokumenten auch -eventuell vorhandenene, mitsignierte Signatureigenschaften (z.B. das -Signaturdatum) auflisten soll. Signatureigenschaften sind in der Regel -vorhanden, wenn die zur Prüfung eingereichte Signatur von -einer Bürgerkartenumgebung erstellt worden ist.</p> - - <p>Der Konfigurationsparamter muss einen der Werte <code>true</code> -oder <code>false</code> aufweisen. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>false</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>result.showslmanifest</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter gibt an, ob MOA SL auf -der Prüfberichtseite unter den signierten Dokumenten auch ein -eventuell vorhandenes, mitsigniertes <span class="term"><a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/core/Core.html#signaturerstellungNachXMLDSIGAntwort">Signaturmanifest</a></span> -nach Security-Layer V1.2 auflisten soll. </p> - - <p>Der Konfigurationsparamter muss einen der Werte <code>true</code> -oder <code>false</code> aufweisen. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>false</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<h3><a name="konfiguration_konfigurationsdatei_umschreiben" id="konfiguration_konfigurationsdatei_umschreiben"></a>3.1.5 -Parameter für das Umschreiben der Links in der -Prüfberichtseite</h3> - -<p>Insbesondere zum Verständnis dieses Abschnitts -sollten Sie zunächst das <a href="../system/system.html">Systemhandbuch</a> lesen. -Dort werden der gesamte Ablauf eines Signaturprüfvorgangs in -MOA SL sowie die daran beteiligten Komponenten erklärt. </p> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>rewrite</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter gibt an, ob MOA SL Links -auf der Prüfberichtseite umschreiben soll.</p> - - <p>der </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>true</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>rewrite.proxyURL</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter enthält die URL -des <span class="term">Rewrite-Proxy</span>. Der <span class="term">Rewrite-Proxy</span> ist jener Rechner, -der (möglicherweise im Gegensatz zum Rechner, auf dem MOA SL -läuft) vom Internet aus erreichbar ist, und über den -alle Anfragen vom Benutzer an MOA SL geleitet werden. </p> - - <p>Teil der mit diesem Konfigurationsparameter angegebenen -URL ist der Platzhalter für den Domänennamen des <span class="term">Rewrite-Proxy</span>. Wie dieser -Platzhalter aussehen muss, wird im Konfigurationsparameter <code>rewrite.proxyURL.proxyhostDummy</code> -festgelegt. Im unten angegebenen Beispiel lautet der Platzhalter <code><proxyhost></code>.</p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>http://<rewriteproxyhost>:1234/rewrite</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>rewrite.proxyURL.proxyhostDummy</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter enthält das -Format für den Platzhalter für den -Domänennamen des <span class="term">Rewrite-Proxy</span>. -Der Platzhalter im Konfigurationsparameter <code>rewrite.proxyURL</code> -muss genau diesem Format entsprechen. </p> - - <p>Notwendig ist dieser Platzhalter, weil MOA SL bei der -Erstellung der Prüfberichtseite alle Vorkommnisse dieses -Platzhalters in der Prüfberichtseite durch den -Domänennamen jener IP-Adresse ersetzt, von der aus der -Signaturprüfrequest an MOA SL gesendet wurde. Die -Konfiguration des dazu notwendigen <span class="term">Reverse -DNS Lookup</span> geschieht mit dem Konfigurationsparameter <code>rewrite.dn.*</code>. - </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code><rewriteproxyhost></code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>rewrite.dn.*</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser (bzw. diese) Konfigurationsparameter definieren -die Lookup-Tabelle für das <span class="term">Reverse -DNS Lookup</span> im Zuge der Umschreibung von Links in der -Prüfberichtseite, damit diese ausschließlich -über den <span class="term">Rewrite-Proxy</span> -abgerufen werden können. </p> - - <p>Der Aufbau der Konfigurationsparameter entspricht dabei -dem Schema<code> -rewrite.dn.<IP-Adresse>=<Domänenname></code>. - </p> - - <p>Der Default-Domänenname, der für die -Umschreibung verwendet wird, wenn für die IP-Adresse des <span class="term">Rewrite-Proxy</span> kein Eintrag in der -Lookup-Tabelle definiert wurde, wird wie folgt angegeben: <code>rewrite.dn.default=<Domänenname></code>. - </p> - - <p>Das Beispiel geht von zwei möglichen <span class="term">Rewrite-Proxys</span> aus, denen die -IP-Adressen <code>192.168.0.101</code> bzw. <code>192.168.0.102</code> -zugeordnet sind. Die nach außen sichtbaren Namen dieser <span class="term">Rewrite-Proxys</span> lauten <code>rewriteproxyhost1</code> -und <code>rewriteproxyhost2</code>. <code>rewriteproxyhost1</code> -ist als Standard-<span class="term">Rewrite-Proxy</span> -konfiguriert. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>rewrite.dn.192.168.0.101=rewriteproxyhost1<br> - -rewrite.dn.192.168.0.102=rewriteproxyhost2<br> - -rewrite.dn.default=rewriteproxyhost1</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>rewrite.MOASLUrlParamName</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter gibt den Namen des -URL-Parameters in den im Signaturprüfbericht für den <span class="term">Rewrite-Proxy</span> umgeschriebenen -Links an, dessen Wert die vom <span class="term">Rewrite-Proxy</span> -für den tatsächlichen Abruf von Daten von MOA SL -enthält.</p> - - <p>Am Wert dieses Konfigurationsparameters erkennt der <span class="term">Rewrite-Proxy</span>, wie der -HTTP-Request an den <span class="term">Rewrite-Proxy</span> -in einen HTTP-Request an das MOA SL Webservice umzusetzen ist. Lautet -eine im Signaturprüfbericht enthaltene URL z.B. <code>http://rewriteproxyhost1:1234/rewrite?targetURL=http://moaslhost:8080/moa-sl/showdata?hidCount=0</code>, -dann geht zunächst ein HTTP-Request an den <span class="term">Rewrite-Proxy </span>(der auf dem -Rechner mit dem Namen <code>rewriteproxyhost1 unter Port 1234 -lauscht)</code>. Der <span class="term">Rewrite-Proxy</span> -entnimmt nun aus dem URL-Parameter <code>targetURL</code> -die URL für die Umsetzung an MOA SL, also <code>http://moaslhost:8080/moa-sl/showdata?hidCount=0</code>. -Der <span class="term">Rewrite-Proxy</span> setzt -nun einen entsprechenden HTTP-Request an MOA SL ab; die Antwort von MOA -SL wird als Antwort auf den an den <span class="term">Rewrite-Proxy</span> -gerichteten HTTP-Request weitergegeben. </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>targetURL</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<table class="fixedWidth" border="1" cellpadding="2"> - - <tbody> - - <tr> - - <td>Name</td> - - <td><code>rewrite.MOASLWebAppServUrl</code></td> - - </tr> - - <tr> - - <td>Erläuterung</td> - - <td> - <p>Dieser Konfigurationsparameter gibt jene URL an, unter -der der Webapplikationsserver mit MOA SL vom <code>Rewrite-Proxy</code> -aus erreichbar ist.</p> - - <p>Die URL besteht aus Protokoll, Domänennamen -sowie gegebenenfalls Port (wenn dieser nicht dem Standardport -für das Protokoll entspricht). Nach dem Domänennamen -bzw. Port dürfen keine weiteren Bestandteile mehr vorkommen. </p> - - <p>Verwendung findet dieser Konfigurationsparameter als -erster Teil des Werts für den oben besprochenen URL-Parameter (<code>rewrite.sliUrlParamName</code>). - </p> - - </td> - - </tr> - - <tr> - - <td>Beispiel</td> - - <td> - <p><code>http://moaslhost:8080</code></p> - - </td> - - </tr> - - </tbody> -</table> - -<h2><a name="konfiguration_layout" id="konfiguration_layout"></a>3.2 Layout des -Prüfberichts </h2> - -<p>Die einzige Schnittstelle des MOA SL Webservices zum Benutzer -ist der Prüfbericht über die eingereichte Signatur, -den das Service dem Benutzer in einer für ihn gut -aufbereiteten Form darstellt, bevor das automatisch auswertbare -Prüfprotokoll an die aufrufende Applikation -zurückübermittelt (für eine -Erklärung des gesamten Signaturprüfvorgangs in MOA SL -sowie der daran beteiligten Komponenten vergleiche das <a href="../system/system.html">Systemhandbuch</a>). </p> - -<p>Das Layout des Prüfberichts, das in der JSP-Seite <code>$MOA_SL_WEBAPP/pages/resultOverview.jsp</code> -(<code>$MOA_SL_WEBAPP</code> steht für den Ort der -Webapplikatioin, für gewöhnlich ist das<code> -$CATALINA_HOME/webapps</code>) festgelegt ist, kann -völlig frei gestaltet werden. </p> - -<p>Wenn Sie das Layout gegenüber der Vorgabe -verändern möchten, editieren Sie einfach die -HTML-Teile dieser JSP-Seite. Beachten Sie bitte, dass Sie dabei die -JSP-Scriptelemente unverändert lassen. JSP-Scriptelemente sind -entweder Tags, die mit dem Präfix <code>jsp</code> -gekennzeichnet sind (z.B. <code><jsp:useBean></code> -oder <code><jsp:getProperty></code>, oder -Bereiche die mit der Kennzeichnung <code><%</code> -eingeleitet bzw. mit der Kennzeichnung <code>%></code> -ausgeleitet werden. </p> - -<h1><a name="testapp" id="testapp"></a>4 -Durchlaufen der Testapplikation</h1> - -<p>Konnte das MOA SL Webservice entsprechend Abschnitt <a href="#installation_tomcatstartstop_verify">2.5.4</a> -erfolgreich initialisiert werden, und haben Sie weiters die -Konfiguration des MOA SL Webservices entsprechend Abschnitt <a href="#konfiguration">3</a> an Ihre Anforderungen -angepasst, sollten Sie schließlich prüfen, ob die -mit MOA SL mitgelieferte Testapplikation erfolgreich durchlaufen werden -kann.</p> - -<p>Beginnen Sie bitte, in dem Sie einen Webbrowser starten und -sich mit folgender Seite verbinden, die Teil des MOA SL Webservices -ist. Sollte Ihre Tomcat-Installation unter einer anderen Adresse als <code>localhost:8080</code> -erreichbar sein, passen Sie die URL bitte entsprechend an.</p> - -<pre>http://localhost:8080/moa-sl/pages/test/forms/verify.slxhtml.jsp</pre> - -<p>Die aufgerufene Webseite sollte in etwa wie folgt aussehen -(für eine größere Darstellung bitte -klicken):</p> - -<p style="text-align: center;"><a href="images/testapp.screen1.png" target="_blank"><img src="images/testapp.screen1.png" alt="pplikation - Screen 1" border="0" height="287" width="400"></a></p> - -<p>Durch Abschicken des dargestellten Formulars wird ein -vorbereiteter Signaturprüfungsrequest entsprechend der -Spezifikation des Security-Layers an MOA SL übermittelt. Als -weiterer Parameter wird eine DataURL ebenfalls ensprechend der -Spezifikation des Security-Layers angegeben. Beide Parameter sind auf -das installierte MOA SL Webservice abgestimmt und können -unverändert übernommen werden. </p> - -<p>Wenn das Formular an an MOA SL übermittelt wurde, -antwortet MOA SL mit dem Signaturprüfbericht, der in etwa wie -folgt aussehen sollte:</p> - -<p style="text-align: center;"><a href="images/testapp.screen2.png" target="_blank"><img src="images/testapp.screen2.png" alt="pplikation - Screen 2" height="458" width="400"></a></p> - -<p>Sollten Sie an statt des Prüfberichts eine -Fehlerseite von Tomcat erhalten, liegt das mit hoher Wahrscheinlichkeit -daran, dass das Zusammenspiel von MOA SL mit MOA SPSS nicht korrekt -konfiguriert wurde. Prüfen Sie dann Ihre Konfiguration -entsprechend den Angaben in Abschnitt <a href="#konfiguration_konfigurationsdatei_moasp">3.1.3</a>.</p> - -<p>Wenn Sie den Prüfbericht zwar erhalten, der Text zu -Prüfungen/Zertifikat jedoch in rot gehalten ist und auf einen -Fehler bei der Zertifikatsprüfung hinweist, wurde das -für die Testapplikation notwendige Vertrauensprofil in MOA -SPSS nicht korrekt konfiguriert. Folgen Sie dann den Hinweisen in -Abschnitt <a href="#konfiguration_konfigurationsdatei_moasp">3.1.3</a>.</p> - -<p>Der Prüfbericht selbst enthält Informationen -zum Ersteller der Signatur, zum Aussteller des Zertifikats, -über Seriennummer und Qualität des Zertifikats, sowie -über die durchgeführten Prüfungen -bezüglich der Signatur selbst sowie des verwendeten -Zertifikats. Nach diesen Informationen enthält der -Prüfbericht eine Liste der von der Signatur gesicherten -Dokumente. In unserem Fall erstreckt sich die Signatur über -genau ein Dokument. Dieses Dokument kann durch einen Klick auf den -entsprechenden Link in einem neuen Fenster geöffnet werden. -Das geöffnete Dokument sollte in etwa wie folgt aussehen:</p> - -<p style="text-align: center;"><a href="images/testapp.screen3.png" target="_blank"><img src="images/testapp.screen3.png" alt="Testapplikation - Screen 3" height="100" width="400"></a> -</p> - -<p>Wenn Sie schließlich im Prüfbericht dem -Link <span class="term">Zurück zur Anwendung ...</span> -folgen, gelangen Sie zur Abschlussseite der Testapplikation:</p> - -<p style="text-align: center;"><a href="images/testapp.screen4.png" target="_blank"><img src="images/testapp.screen4.png" alt="Testapplikation - Screen 4" border="0" height="290" width="400"></a></p> - -<p> Die Abschlussseite präsentiert in Tabellenform die -Informationen, die vom MOA SL Webservice als automatisch auswertbare -Information entsprechend der Spezifikation des Security-Layers an den <code>DataURL</code>-Server -(vergleiche Parameter auf der Startseite der Testapplikation) -übermittelt. Im Wesentlichen ist das der -Signaturprüfresponse entsprechend der Spezifikation des -Security-Layers. </p> - -</body> -</html> diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.VSD b/spss.slinterface/handbook/system/images/Zusammenspiel.VSD Binary files differdeleted file mode 100644 index 0088d5109..000000000 --- a/spss.slinterface/handbook/system/images/Zusammenspiel.VSD +++ /dev/null diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png b/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png Binary files differdeleted file mode 100644 index 4e7fcda67..000000000 --- a/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png +++ /dev/null diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png b/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png Binary files differdeleted file mode 100644 index 0dc944cb9..000000000 --- a/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png +++ /dev/null diff --git a/spss.slinterface/handbook/system/system.html b/spss.slinterface/handbook/system/system.html deleted file mode 100644 index 7831b7eb6..000000000 --- a/spss.slinterface/handbook/system/system.html +++ /dev/null @@ -1,529 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - - <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> - <title>MOA SL - Systemhandbuch</title> - - - <link rel="stylesheet" href="../common/MOA.css" type="text/css"> - -</head> - - -<body style="color: rgb(0, 0, 0); background-color: white;" alink="#cc9966" link="#990000" vlink="#666666"> - -<table class="logoTable" border="0" cellpadding="10" cellspacing="0" width="100%"> - - <tbody> - - <tr> - - <td class="logoTitle" align="center" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" align="left" height="37" width="267"></td> - - <td class="logoTitle" align="center">Open -Source<br> - -für das E-Government</td> - - <td class="logoTitle" align="center" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" align="right" height="138" width="123"></td> - - </tr> - - </tbody> -</table> - -<hr> -<p class="title"><a href="../index.html">MOA: -Serverseitige Signaturprüfung (SL), V 1.1</a></p> - -<p class="subtitle">Systemhandbuch</p> - -<hr> -<h1>Inhalt</h1> - -<ol> - - <li> - <p><a href="#einf%FChrung">Einführung</a></p> - - </li> - - <li><a href="#%FCberblick">Überblick</a></li> - - <li> <a href="#komponenten">Komponenten</a> - <ol> - - <li><a href="#komponenten.sl2moafilter">Der -Filter <code>SL2MOAFilter</code></a> - </li> - - <li><a href="#komponenten.moaservlet">Das -Servlet <code>MOAServlet</code></a> - </li> - - <li><a href="#komponenten.resultoverview">Die -JSP-Seite <code>resultOverview.jsp</code></a> - </li> - - <li><a href="#komponenten.hashinputservlet">Das -Servlet <code>HashInputDataServlet</code></a></li> - - <li><a href="#komponenten.returnservlet">Das -Servlet <code>ReturnServlet</code></a></li> - - <li><a href="#komponenten.urlrewriter">Die -Klasse URLRewriter</a></li> - - <li><a href="#komponenten.webxml">Der -Deployment Descriptor web.xml</a></li> - - </ol> - - </li> - - <li><a href="#zusammenspiel">Zusammenspiel der -Komponenten</a> - <ol> - - <li><a href="#zusammenspiel.basis">Basisablauf</a></li> - - <li><a href="#zusammenspiel.rewrite">Ablauf mit Rewrite-Proxy</a></li> - - </ol> - - </li> - -</ol> - -<hr> -<h1><a name="einführung" id="einführung"></a>1 -Einführung </h1> - -<p>Das Modul <span class="term">Serverseitige -Signaturprüfung</span> (MOA SL) ist als -plattformunabhängiges Modul ausgelegt, das als Webservice -über HTTP bzw. HTTPS angesprochen werden kann. </p> - -<p>Dieses Handbuch beschreibt den Aufbau von MOA SL. Abschnitt 2 -bietet einen groben Überblick über die Funktionsweise -von MOA SL. Abschnitt 3 beschreibt die einzelnen Komponenenten, aus -denen MOA SL aufgebaut ist. Abschnitt 4 schließlich -beschreibt das Zusammenspiel der einzelnen Komponenten.</p> - -<p>Für die Installation und die Konfiguration von MOA SL -siehe <a href="../operation.html">Betriebshandbuch</a>. -</p> - -<h1><a name="überblick" id="überblick"></a>2 -Überblick</h1> - -<p>Das Modul <span class="term">Serverseitige -Signaturprüfung</span> (MOA SL) bietet für -Signaturprüfung eine serverseitige Implementierung einer -Bürgerkarten-Umgebung entsprechend den <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen -zur österreichischen Bürgerkarte</a> in der -Version 1.2. </p> - -<p>Der Funktionsumfang von MOA SL kann wie folgt zusammengefasst -werden:</p> - -<ul> - - <li>Von den XML-Befehlen der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html">Applikationsschnittstelle -Security-Layer</a> wird genau ein Befehl unterstützt, -und zwar jener zur Prüfung von XML-Signaturen (<span class="term">VerifyXMLSignature</span>).</li> - - <li>Hinsichtlich der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html">Transportprotokolle -des Security-Layer</a> wird ausschließlich die -HTTP-Bindung unterstützt, wobei für diese Bindung -zusätzlich folgende Einschränkungen gelten: - <ul> - - <li>Keine Unterstützung der Formularparameter -RedirectURL und StylesheetURL.</li> - - <li>Verpflichtende Verwendung des Formularparameters -DataURL. </li> - - <li>Keine Unterstützung von Weitergabe-Parametern -und Weitergabe-Headern.</li> - - <li>Keine Referenzierbarkeit von Formularfeldern.</li> - - <li>Hinsichtlich der Ablaufsteuerung laut <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html#http.ablauf.schritte">Abschnitt -3.2.3</a> wird ausschließlich Fall 5e -unterstützt. </li> - - </ul> - - </li> - - <li>Hinsichtlich der Anzeigeformate des Security-Layer wird -ausschließlich das <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/minimum/Minimum.html#anzeigeformate.formate.slxhtml">Standardanzeigeformat -des Security-Layers</a> unterstützt. Liegen die von der -zu prüfenden Signatur gesicherten Daten in einem anderen -Format vor, können diese nicht angezeigt, sondern stattdessen -per Download bezogen werden. </li> - -</ul> - -<h1><a name="komponenten" id="komponenten"></a>3 -Komponenten</h1> - -<h2><a name="komponenten.sl2moafilter" id="komponenten"></a>3.1 -Der Filter <code>SL2MOAFilter</code></h2> - -<p>Die Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> -ist ein -<code><abbr title="javax.servlet.Filter">Filter</abbr></code>, -der einerseits -den <code><abbr title="javax.servlet.http.httpservletrequest=">HttpServletRequest</abbr></code> -verändert, bevor er an das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -weitergeleitet wird, und andererseits den <code><abbr title="javax.servlet.http.HttpServletResponse">HttpServletResponse</abbr></code> -verändert, nachdem er vom Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -bearbeitet wurde.</code></p> - -<p>Der <code><abbr title="javax.servlet.http.HttpServletRequest">HttpServletRequest</abbr></code> -enhält ja zunächst den Request zur Prüfung -der XML-Signatur in einem Format entsprechend der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen -zur österreichischen Bürgerkarte</a> in der -Version 1.2 (SL-Request). Das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -erwartet sich jedoch den -Request zur Prüfung der XML-Signatur in einem Format -entsprechend der Webservice-Schnittstelle für das Basismodul -MOA SP (MOA-Request). Aufgabe des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>s -ist es daher, vor der Ausführung des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>s -für eine passende Umsetzung des SL-Requests in den -entsprechenden MOA-Request zu sorgen. </p> - -<p>Zur Erfüllung dieser -Aufgabe bedient sich der <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> -der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.transformers.SL2MOA">SL2MOA</abbr></code>, -in der die Request-Transformation gekapselt ist. Zunächst wird eine einfache Transformation des SL-Requests in den MOA-Request durchgeführt, -indem die Namen der XML-Elemente entsprechend angepasst werden. Danach werden am dadurch entstandenen MOA-Request noch folgende Modifikationen -durchgeführt: -<ul> - <li>Einfügen eines <code>DateTime</code> Elements in den MOA-Request, wenn bisher kein solches existiert, und wenn in der im MOA-Request - enthaltenen XML Signatur kein Signaturattribut <code>etsi:SigningTime</code> existiert und wenn aus dem E-Recht XML Dokument, das von der - XML-Signatur signiert wird, die Metainformation (Attribut <code>h-created</code> im Wurzelelement <code>erechtdok</code>) des - Erzeugungszeitpunkts des E-Recht XML Dokuments erfolgreich extrahiert werden konnte.</li> - - <li>Hinzufügen des Elements <code>ReturnHashInputData</code>, das MOA SP anweist, die Hashinputdaten für jede <code>dsig:Reference</code> - der zu prüfenden XML Signatur als Teil der MOA-Response zu retournieren.</li> - - <li>Hinzufügen des verpflichtend anzugebenden Elements <code>TrustProfileID</code>, das MOA SP den Hinweis gibt, welches Vertrauensprofil - für die Evaluierung der Vertrauenswürdigkeit des für die Erstellung der XML Signatur verwendeten Signaturzertifikats verwendet - werden soll.</li> -</ul> -</p> - -<p>Das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -würde dann die Antwort des Basismoduls MOA SP in einem Format -entsprechend der Webservice-Schnittstelle für das Basismodul -MOA SP (MOA-Response) retournieren. Die Anwendung, die das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -aufruft, erwartet sich jedoch die Antwort auf den Request zur -Prüfung -der XML-Signatur in einem Format entsprechend der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen -zur österreichischen Bürgerkarte</a> in der -Version 1.2 (SL-Response). Aufgabe des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>s -ist es daher, nach der Ausführung des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>s -für eine passende Umsetzung der MOA-Response in die -entsprechende SL-Response zu sorgen. Zur Erfüllung -dieser -Aufgabe bedient sich der <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> -der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.transformers.MOA2SL">MOA2SL</abbr></code>, -in der die -Response-Transformation gekapselt ist.</p> - -<p>Eine weitere Aufgabe der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> -ist es schließlich, die JSP-Seite <code>resultoverview.jsp</code> -einzubinden, die für eine benutzertaugliche HTML-Darstellung -der SL-Response sorgt. Diese benutzertaugliche Darstellung wird dann -tatsächlich als finales Resultat des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>s -an die Anwendung zurückübermittelt. Bevor die -JSP-Seite eingebunden wird, erzeugt <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> -Java Beans aus den Informationen der SL-Response und speichert sie im -Request Scope bzw. Session Scope. Diese Java Beans werden dann von der -JSP-Seite zum -Aufbau der benutzertauglichen HTML-Darstellung herangezogen. -Für weitere Informationen zur JSP-Seite sowie zu den von ihr -verwendeten Java Beans siehe <a href="#komponenten.resultoverview">Abschnitt 3.3</a>. -</p> - -<h2><a name="komponenten.moaservlet" id="komponenten"></a>3.2 -Das Servlet <code>MOAServlet</code></h2> - -<p>Die Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet"> -MOAServlet</abbr></code> ist ein <code><abbr title="javax.servlet.http.HttpServlet">HttpServlet</abbr></code> -und als solches für die Kommunikation mit dem Basismodul MOA -SP verantwortlich. </p> - -<p>Das Servlet liest aus dem <code><abbr title="javax.servlet.ServletInputStream">ServletInputStream</abbr></code> -des <code><abbr title="javax.servlet.http.HttpServletRequest">HttpServletRequest</abbr></code>s -den MOA SP Request -zur Prüfung der XML-Signatur und sendet diesen XML-Request -unter Verwendung der Webservice-Schnittstelle von MOA SP an das -Basismodul MOA SP.</p> - -<p>Danach liest das Servlet die vom Basismodul MOA SP auf den -Request zur Prüfung der XML-Signatur -rückübermittelte Response und schreibt diese -XML-Response in den <code><abbr title="javax.servlet.ServletOutputStream">ServletOutputStream</abbr></code> -der <code><abbr title="javax.servlet.http.HttpServletResponse">HttpServletResponse</abbr></code>.</p> - -<p>Das MOAServlet bedient sich zur Kommunikation mit MOA SP der -Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker"> -MOAInvoker</abbr></code>, in der die -Funktionalität des Webservice-Clients für MOA SP -gekapselt ist.</p> - -<h2><a name="komponenten.resultoverview" id="komponenten"></a>3.3 Die JSP-Seite <code>resultOverview.jsp</code></h2> - -<p>Die JSP-Seite <code>resultOverview.jsp</code> ist -verantwortlich für die Aufbereitung -einer benutzertauglichen HTML-Darstellung der SL-Response, die -das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -im Zusammenspiel mit dem Filter <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> -erzeugt. </p> - -<p>Die für die Aufbereitung erforderlichen Informationen -werden der JSP-Seite in Form von Java Beans zur Verfügung -gestellt, die zuvor vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter -</abbr></code>erzeugt worden sind (vergleiche <a href="#komponenten.sl2moafilter">Abschnitt 3.1</a>). -Folgende Java Beans stehen der JSP-Seite zur Verfügung:</p> - -<ul> - - <li><code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean">DataInfoBean</abbr></code>: -Enthält -alle notwendigen Informationen zu den von der geprüften -XML-Signatur gesicherten Dokumenten. Beim Erzeugen dieser Java Bean -werden unter anderem die gesicherten Dokumente für den -späteren Abruf durch die Anwendung (vergleiche - <a href="#komponenten.hashinputservlet">Abschnitt 3.4</a>) -im Filesystem zwischengespeichert sowie die Prüfung -vorgenommen, ob es sich bei einem gesicherten Dokument um ein -XHTML-Dokument gemäß <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen -zur österreichischen Bürgerkarte</a> in der -Version 1.2 handelt (SLXHTML-Dokument) oder nicht. Die Bean ist im -Session Scope abgelegt.</li> - - <li><code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.SignerInfoBean">SignerInfoBean</abbr></code>: -Enthält -alle notwendigen Informationen zum Ersteller der geprüften -XML-Signatur. Die Bean ist im Servlet Scope abgelegt.</li> - - <li><code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.ChecksInfoBean">ChecksInfoBean</abbr></code>: -Enthält -alle notwendigen Informationen zum Ergebnis der Prüfung der -XML-Signatur. Die Bean ist im Servlet Scope abgelegt.</li> - -</ul> - -<p>Die JSP-Seite <code>resultOverview.jsp</code> -erzeugt aus den mittels der erwähnten Java Beans zur -Verfügung gestellten Informationen eine HTML-Darstellung. -Diese HTML-Darstellung ist in die folgenden Informationsblöcke -unterteilt:</p> - -<ul> - - <li>Informationen zum Ersteller der geprüften -XML-Signatur: Name des Erstellers, Name des Ausstellers des -Zertifikats, Angaben zur Qualität des Zertifikats.</li> - - <li>Informationen zum Ergebnis der Prüfung der -XML-Signatur: Ergebnis der Signaturprüfung, Ergebnis der -Prüfung des Zertifikats.</li> - - <li>Informationen zu jedem von der XML-Signatur gesicherten -Dokument: Angabe, ob es sich beim Dokument um ein SLXHTML-Dokument -handelt, Link zum Download des gesicherten Dokuments. Wenn es sich um -ein SLXHTML-Dokument handelt, wird das Dokument bei Verfolgung des -Links in einem neuen Browserfenster angezeigt, ansonsten kann das -Dokument heruntergeladen und gespeichert werden.</li> - -</ul> - -<p>Ein Beispiel für die resultierende HTML-Darstellung -befindet sich <a href="../operation/images/testapp.screen2.png">hier</a>.</p> - -<h2><a name="komponenten.hashinputservlet" id="komponenten"></a>3.4 Das Servlet <code>HashInputDataServlet</code></h2> - -<p>Das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code> -ist -für die Verfügbarkeit der von der geprüften -XML-Signatur gesicherten Dokumente verantwortlich. </p> - -<p>In der HTML-Aufbereitung der SL-Response, die von der -JSP-Seite <code>resultOverview.jsp </code>erzeugt wird, -(vergleiche <a href="#komponenten.resultoverview">Abschnitt -3.3</a>) befinden sich Links auf alle gesicherten Dokumente. -Diese Links führen jeweils auf das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>. </p> - -<p>Das Servlet entnimmt aus der aufgerufenen URL die Parameter -zum Auffinden des Session Scopes sowie die fortlaufende Nummer des -gesicherten Dokuments. Im Session Scope ist als Attribut die in <a href="#komponenten.resultoverview">Abschnitt 3.3</a> -erwähnte <code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean">DataInfoBean</abbr></code>: -gespeichert, die alle notwendigen Informationen enthält, damit -das Servlet das angefragte gesicherte Dokument aus dem Filesystem lesen -und als Ergebnis an den Browser zurückliefern kann. Je nach -dem, ob es sich beim gesicherten Dokument um ein SLXHTML-Dokument -handelt oder nicht, wird der Content-Type Header der HTTP Response an -den Browser passend gesetzt.</p> - -<h2><a name="komponenten.returnservlet" id="komponenten"></a>3.5 -Das Servlet <code>ReturnServlet</code></h2> - -<p>Das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> -ist nach Quittierung der HTML-Darstellung zur geprüften -XML-Signatur durch den Benutzer für die Weiterleitung der -SL-Response an den DataURL-Server sowie für die Weiterleitung -der daraus resultierenden Antwort des DataURL-Servers an den Benutzer -verantwortlich.</p> - -<p>Damit verhält sich MOA SL genau wie in der -Spezifikation <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html">Transportprotokolle -Security-Layer</a> (Teil der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen -zur österreichischen Bürgerkarte</a> in der -Version 1.2) in <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html#http.ablauf.schritte">Abschnitt -3.2.3</a> für den Fall 5e beschrieben ist: Wenn der -Benutzer die HTML-Aufbereitung der Ergebnisse der geprüften -XML-Signatur gesichtet hat und durch Verfolgung des darin enthaltenen -Links quittiert, sendet das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> -die SL-Response an den DataURL-Server. Die URL des DataURL-Servers -wurde von der Anwendung im ursprünglichen Request an das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> -als Formular-Parameter angegeben. Der DataURL-Server antwortet auf das -Eintreffen der SL-Response mit einem HTTP-Response an das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>, -diese wird vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> -als Antwort auf das Quittieren der HTML-Darstellung an den Browser -weitergeleitet. </p> - -<p>Nachdem mit diesem Schritt die Bearbeitung der zur -Prüfung übermittelten XML-Signatur durch MOA-SL -abgeschlossen ist, wird am Ende des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> -die Session und damit alle gespeicherten Informationen zur -geprüften XML-Signatur gelöscht. </p> - -<h2><a name="komponenten.urlrewriter" id="komponenten"></a>3.6 -Die Klasse <code>URLRewriter</code></h2> - -<p>Die Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.URLRewriter">URLRewriter</abbr></code> -ist -für das Umschreiben von URLs verantwortlich die in der -HTML-Aufbereitung der SL-Response enthalten sind, die dem Benutzer in -seinem Webbrowser angezeigt wird.</p> - -<p>MOA SL kann so konfiguriert werden, dass die in der -HTML-Aufbereitung der SL-Response enthaltenen -URLs nicht direkt -auf -Ressourcen von MOA SL (z.B. die von der Signatur gesicherten -Dokumente), sondern auf einen Rewrite-Proxy -verweisen. Die URL auf die eigentliche Ressource von MOA SL ist in dem -umgeschriebenen Link als URL-Parameter kodiert. Der Rewrite-Proxy sorgt -für die Umsetzung des aus dem umgeschriebenen Link -resultierenden -Requests an ihn selbst in einen Request an MOA SL. </p> - -<p>Sinnvoll ist diese Konfigurationsvariante dann, wenn MOA SL -nicht direkt vom Internet aus erreichbar sein soll, sondern nur auf dem -Umweg über einen dedizierten Webserver, dem Rewrite-Proxy.</p> - -<p>Die Methode <code>rewrite</code> der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.URLRewriter">URLRewriter</abbr></code> -wird bei der Erstellung der HTML-Aufbereitung der SL-Response durch die -JSP-Seite <code>resultOverview.jsp</code> jedenfalls -aufgerufen; die Entscheidung, ob die in die Methode übergebene -URL tatsächlich umgeschrieben wird oder nicht, entscheidet die -Methode auf Grund der Konfigurationseinstellungen von MOA SL.</p> - -<h2><a name="komponenten.webxml" id="komponenten"></a>3.7 -Der Deployment Descriptor <code>web.xml</code></h2> -<p> -Im Deployment Descriptor <code><abbr title="WEB-INF/web.xml">web.xml</abbr></code>des -Web Archives (WAR-File) von MOA SL sind im Wesentlichen folgende -Konfigurationen eingerichtet, die im Normalfall nicht verändert -werden müssen:</p> -<ul> - <li>Definition der URLs, unter denen die Servlets von MOA SL (<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>, <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>, <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>) relativ zum Root der Web Application erreichbar sind (XML-Elemente <code>servlet</code> bzw. <code>servlet-mapping</code>).</li> - <li>Definition der Filter, die für das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> zur Anwendung kommen sollen (XML Elemente <code>filter</code> bzw. <code>filter-mapping</code>). Die Konfiguration ist so eingerichtet, dass für das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> genau ein Filter, nämlich <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> konfiguriert ist. </li> -</ul> - -<h1><a name="zusammenspiel" id="zusammenspiel"></a>4 -Zusammenspiel der Komponenten</h1> - -<h1><a name="zusammenspiel.basis" id="zusammenspiel"></a>4.1 Basisablauf</h1> -<p>Die nachfolgende Grafik stellt das Zusammenspiel der Komponenten aus Abschnitt 3 mit dem Anwender und dem DataURL-Server dar.</p> -<p style="text-align: center;"><img style="width: 760px; height: 463px;" alt="Zusammenspiel der Komponenten - Basisablauf" src="images/Zusammenspiel.ohne.png" vspace="25"></p> -<table style="text-align: left; width: 983px; height: 216px;" border="1" cellpadding="2" cellspacing="2"> - <tbody> - <tr> - <td>1, 2</td> - <td> - <p>Prüfung der Signatur: Anfrage wird eigentlich an <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> gerichtet, durch die Filter-Konfiguration über den Deployment-Descriptor web.xml wird jedoch vorher und nachher der <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> dazwischengeschalten. Die Aufbereitung der HTML-Darstellung der SL-Response wird vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> an die JSP-Seite <code>resultOverview.jsp</code> delegiert.</p> - </td> - </tr> - <tr> - <td>3,4</td> - <td> - <p>Über die HTML-Ansicht der SL-Response kann der Anwender -die einzelnen, von der XML-Signatur gesicherten Dokumente abrufen. -Die Links für die Dokumente verweisen auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>, die Zuordnung im Servlet passiert über URL-Parameter (Session-ID, fortlaufende Nummer des Dokuments).</p> - </td> - </tr> - <tr> - <td>5, 6, 7, 8</td> - <td> - <p>In Schritt 5 quittiert der Anwender die HTML-Darstellung der -SL-Response. Das Quittieren funktioniert über einen Link in der -HTML-Darstellung, der auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> verweist. Das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> -sendet die SL-Response an den DataURL-Server. Der DataURL-Server -antwortet entsprechend auf die übermittelte SL-Response; diese -Antwort wird vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> unverändert an den Antwender weitergeleitet.</p> - </td> - </tr> - </tbody> -</table> -<h1><a name="zusammenspiel.rewrite" id="zusammenspiel"></a>4.2 Ablauf mit Rewrite-Proxy</h1> -Die nachfolgende Grafik stellt das Zusammenspiel der Komponenten aus -Abschnitt 3 mit dem Anwender und dem DataURL-Server dar, wobei die -Anfragen vom Anwender nicht direkt an MOA SL, sondern indirekt -über einen Rewrite-Proxy gestellt werden.<br> -<div style="text-align: center;"><img style="width: 1021px; height: 463px;" alt="Zusemmenspiel der Komponenten - mit Rewrite-Proxy" src="images/Zusammenspiel.mit.png" vspace="25"><br> -<div style="text-align: left;"> -<table style="text-align: left; width: 983px; height: 216px;" border="1" cellpadding="2" cellspacing="2"> - <tbody> - <tr> - <td>1, 2</td> - <td> - <p>Prüfung der Signatur: Anfrage wird eigentlich an <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> gerichtet, durch die Filter-Konfiguration über den Deployment-Descriptor web.xml wird jedoch vorher und nachher der <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> dazwischengeschalten. Die Aufbereitung der HTML-Darstellung der SL-Response wird vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> an die JSP-Seite <code>resultOverview.jsp</code> delegiert. Die Anfrage des Anwenders wird nicht direkt an das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> gerichtet, sondern über den Rewrite-Proxy, der die Anfrage-URL passend umschreibt.</p> - </td> - </tr> - <tr> - <td>3,4</td> - <td> - <p>Über -die HTML-Ansicht der SL-Response kann der Anwender die einzelnen, von -der XML-Signatur gesicherten Dokumente abrufen. Die Links für die -Dokumente verweisen nicht direkt auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>, sondern zunächst auf den Rewrite-Proxy, der die Links passend auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code> umsetzt. Die Zuordnung im Servlet passiert über URL-Parameter (Session-ID, fortlaufende Nummer des Dokuments).</p> - </td> - </tr> - <tr> - <td>5, 6, 7, 8</td> - <td> - <p>In -Schritt 5 quittiert der Anwender die HTML-Darstellung der SL-Response. -Das Quittieren funktioniert über einen Link in der HTML-Darstellung, -der nicht direkt auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> verweist, sondern zunächst auf den Rewrite-Proxy, der die Links passend auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> umsetzt. Das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> -sendet die SL-Response an den DataURL-Server. Der DataURL-Server -antwortet entsprechend auf die übermittelte SL-Response; diese Antwort -wird vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> unverändert an den Antwender weitergeleitet.</p> - </td> - </tr> - </tbody> -</table> -</div> -</div> -</body> -</html> diff --git a/spss.slinterface/lib/axis-1.0/axis-ant.jar b/spss.slinterface/lib/axis-1.0/axis-ant.jar Binary files differdeleted file mode 100644 index 9cb30a98a..000000000 --- a/spss.slinterface/lib/axis-1.0/axis-ant.jar +++ /dev/null diff --git a/spss.slinterface/lib/axis-1.0/axis.jar b/spss.slinterface/lib/axis-1.0/axis.jar Binary files differdeleted file mode 100644 index 869ee16f5..000000000 --- a/spss.slinterface/lib/axis-1.0/axis.jar +++ /dev/null diff --git a/spss.slinterface/lib/axis-1.0/jaxrpc.jar b/spss.slinterface/lib/axis-1.0/jaxrpc.jar Binary files differdeleted file mode 100644 index 5f6a56f02..000000000 --- a/spss.slinterface/lib/axis-1.0/jaxrpc.jar +++ /dev/null diff --git a/spss.slinterface/lib/axis-1.0/saaj.jar b/spss.slinterface/lib/axis-1.0/saaj.jar Binary files differdeleted file mode 100644 index f2242abe5..000000000 --- a/spss.slinterface/lib/axis-1.0/saaj.jar +++ /dev/null diff --git a/spss.slinterface/lib/axis-1.0/wsdl4j.jar b/spss.slinterface/lib/axis-1.0/wsdl4j.jar Binary files differdeleted file mode 100644 index 820abd082..000000000 --- a/spss.slinterface/lib/axis-1.0/wsdl4j.jar +++ /dev/null diff --git a/spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar b/spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar Binary files differdeleted file mode 100644 index b88554847..000000000 --- a/spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar +++ /dev/null diff --git a/spss.slinterface/lib/commons-fileupload-1.0/commons-fileupload-1.0.jar b/spss.slinterface/lib/commons-fileupload-1.0/commons-fileupload-1.0.jar Binary files differdeleted file mode 100644 index 1ca4a9cd3..000000000 --- a/spss.slinterface/lib/commons-fileupload-1.0/commons-fileupload-1.0.jar +++ /dev/null diff --git a/spss.slinterface/lib/commons-logging-1.0.4/commons-logging.jar b/spss.slinterface/lib/commons-logging-1.0.4/commons-logging.jar Binary files differdeleted file mode 100644 index b99c9375a..000000000 --- a/spss.slinterface/lib/commons-logging-1.0.4/commons-logging.jar +++ /dev/null diff --git a/spss.slinterface/lib/log4j-1.2.7/log4j-1.2.7.jar b/spss.slinterface/lib/log4j-1.2.7/log4j-1.2.7.jar Binary files differdeleted file mode 100644 index 1595a56ef..000000000 --- a/spss.slinterface/lib/log4j-1.2.7/log4j-1.2.7.jar +++ /dev/null diff --git a/spss.slinterface/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip b/spss.slinterface/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip Binary files differdeleted file mode 100644 index c450772ea..000000000 --- a/spss.slinterface/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip +++ /dev/null diff --git a/spss.slinterface/lib/xalan-2.5.1/xalan.jar b/spss.slinterface/lib/xalan-2.5.1/xalan.jar Binary files differdeleted file mode 100644 index 44d4d094d..000000000 --- a/spss.slinterface/lib/xalan-2.5.1/xalan.jar +++ /dev/null diff --git a/spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar b/spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar Binary files differdeleted file mode 100644 index 14c3162c0..000000000 --- a/spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar +++ /dev/null diff --git a/spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar b/spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar Binary files differdeleted file mode 100644 index 2dd837714..000000000 --- a/spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar +++ /dev/null diff --git a/spss.slinterface/pages/images/LogoMoa4c.png b/spss.slinterface/pages/images/LogoMoa4c.png Binary files differdeleted file mode 100644 index c3735160c..000000000 --- a/spss.slinterface/pages/images/LogoMoa4c.png +++ /dev/null diff --git a/spss.slinterface/pages/resultOverview.jsp b/spss.slinterface/pages/resultOverview.jsp deleted file mode 100644 index 388efa77e..000000000 --- a/spss.slinterface/pages/resultOverview.jsp +++ /dev/null @@ -1,270 +0,0 @@ -<%@ page contentType="text/html; charset=ISO-8859-1" %>
-
-<jsp:useBean
- id="checksInfo"
- class="at.gv.egovernment.moa.spss.slinterface.beans.ChecksInfoBean" scope="request">
-</jsp:useBean>
-
-<jsp:useBean
- id="signerInfo"
- class="at.gv.egovernment.moa.spss.slinterface.beans.SignerInfoBean" scope="request">
-</jsp:useBean>
-
-<jsp:useBean
- id="dataInfo"
- class="at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean" scope="session">
-</jsp:useBean>
-
-<html>
- <head>
- <head><title>Bundeskanzleramt der Republik Österreich - Signaturprüfdienst</title></head>
- </head>
- <body>
- <table width="800px" align="center">
- <tr>
- <td>
- <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
- <td width="150px" align="center"><img width="70px"
- <% out.print(
- "src=\"" +
- ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite(
- request.getContextPath() + "/pages/images/aut-emb2.gif\"", request.getSession()) +
- " alt=\"Republik Österreich\""); %>
- ></td>
- <td align="center"><b>Bundeskanzleramt der Republik Österreich - Signaturprüfdienst</b></td>
- </table>
-
- <p>Nachfolgend finden Sie das Ergebnis der Prüfung der eingereichten elektronischen Signatur.</p>
-
- <p>
- <a href="<%out.print(
- ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite(
- request.getContextPath() + "/return", request.getSession()));%>">
- Zurück zur Anwendung ...</a>
- </p>
-
- <!-- ######################################################### -->
- <!-- Name des Unterzeichners -->
- <!-- ######################################################### -->
-
- <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
- <th>
- <tr span="2"><b>Unterzeichner</b></tr>
- </th>
- <%
- String[] subOIDNames = new String[]{"2.5.4.3", "2.5.4.11", "2.5.4.10", "2.5.4.6"}; // CN, OU, O, C
- String[] subOIDRegNames = new String[]{"Name", "Organisationseinheit", "Organisation", "Staat"};
- for (int i = 0; i < subOIDNames.length; i++)
- {
- signerInfo.setSubjectNameItemSel(subOIDNames[i]);
- String currSubjectNameRDN = signerInfo.getSubjectNameItem();
- if (currSubjectNameRDN != null)
- {
- out.print("<tr ><td width=\"150px\" align=\"right\">" + subOIDRegNames[i] + "</td><td align=\"left\"><code>" + currSubjectNameRDN + "</code></td></tr>");
- }
- }
- %>
- </table>
-
- <!-- ######################################################### -->
- <!-- Name des Ausstellers -->
- <!-- ######################################################### -->
-
-
- <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
- <th>
- <tr span="2"><b>Aussteller des Zertifikats</b></tr>
- </th>
- <%
- String[] issuerOIDNames = new String[]{"2.5.4.3", "2.5.4.11", "2.5.4.10", "2.5.4.6"}; // CN, OU, O, C
- String[] issuerOIDRegNames = new String[]{"Name", "Organisationseinheit", "Organisation", "Staat"};
- for (int i = 0; i < issuerOIDNames.length; i++)
- {
- signerInfo.setIssuerNameItemSel(issuerOIDNames[i]);
- String currIssuerNameRDN = signerInfo.getIssuerNameItem();
- if (currIssuerNameRDN != null)
- {
- out.print("<tr><td width=\"150px\" align=\"right\">" + issuerOIDRegNames[i] + "</td><td align=\"left\"><code>" + currIssuerNameRDN + "</code></td></tr>");
- }
- }
- %>
- </table>
-
- <!-- ######################################################### -->
- <!-- Seriennummer des Zertifikats -->
- <!-- ######################################################### -->
-
- <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
- <th>
- <tr span="2"><b>Informationen zum Zertifikat</b></tr>
- </th>
- <tr>
- <td width="150px" align="right">Seriennummer</td>
- <td align="left"><code>
- <%
- out.print(signerInfo.getSerial());
- %>
- </code></td>
- </tr>
-
- <!-- ######################################################### -->
- <!-- Qualifiziertes Zertifikat? -->
- <!-- ######################################################### -->
-
- <tr>
- <td align="right">Qualität</td>
- <td align="left"><code>
- <% out.print(signerInfo.getIsQualified() ? "qualifiziertes" : "gewöhnliches"); %> Zertifikat
- </code></td>
- </tr>
- </table>
-
-
- <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
- <th>
- <tr span="2"><b>Prüfungen</b></tr>
- </th>
-
- <!-- ######################################################### -->
- <!-- Signaturprüfung -->
- <!-- ######################################################### -->
-
- <tr>
- <td width="150px" align="right">Signatur</td>
- <%
- String [] sigCheckMsgs = new String[]
- {
- "Die Überprüfung der Hash-Werte und des Werts der Signatur konnte erfolgreich durchgeführt werden.",
- "Bei der Überprüfung des Hash-Werts zumindest einer dsig:Reference der Signatur ist ein Fehler aufgetreten. Der Wert der Signatur (dsig:SignatureValue) wurde nicht überprüft.",
- "Die Überprüfung der Hash-Werte konnte erfolgreich durchgeführt werden. Beim Überprüfen des Werts der Signatur (dsig:SignatureValue) ist jedoch ein Fehler aufgetreten."
- };
-
- int sigCheckCode = Integer.parseInt(checksInfo.getSigCheckCode());
- out.print("<td align=\"left\"><p><code>");
- if (sigCheckCode != 0) out.print("<font color=\"red\">");
- out.print(sigCheckMsgs[sigCheckCode]);
- if (sigCheckCode != 0) out.print("</font>");
- %>
- </code></p>
- <%
- if (sigCheckCode == 1)
- {
- %>
- <p><code><font color="red">Fehlerhafte Referenzen:
- <%
- int count = 0;
- do
- {
- checksInfo.setSigCheckFailedRefCount(count);
- String failedRef = checksInfo.getSigCheckFailedRef();
- if (null == failedRef) break;
- if (count > 0) out.print(", ");
- out.print(failedRef);
- count++;
- }
- while (true);
- %>
- </code></font></p>
- <%
- }
- %>
- </td></tr>
-
- <!-- ######################################################### -->
- <!-- Signaturmanifestprüfung -->
- <!-- ######################################################### -->
-
- <!-- Aus der Sicht des Bürgers nicht sinnvoll -->
-
- <!-- ######################################################### -->
- <!-- XMLDSIG-Manifestprüfung -->
- <!-- ######################################################### -->
-
- <!-- Derzeit nicht implementiert, Bean "checksInfo" enthält allerdings alle notwendigen Infos -->
-
- <!-- ######################################################### -->
- <!-- Zertifikatsprüfung -->
- <!-- ######################################################### -->
-
- <tr>
- <td align="right">Zertifikat</td>
- <%
- String [] certCheckMsgs = new String[]
- {
- "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Jedes Zertifikat dieser Kette ist zum in der Anfrage angegebenen Prüfzeitpunkt gültig.",
- "Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden.",
- "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für zumindest ein Zertifikat dieser Kette fällt der Prüfzeitpunkt nicht in das Gültigkeitsintervall.",
- "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Für zumindest ein Zertifikat konnte der Zertifikatstatus nicht festgestellt werden.",
- "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Zumindest ein Zertifikat ist zum Prüfzeitpunkt widerrufen.",
- "Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Kein Zertifikat dieser Kette ist zum Prüfzeitpunkt widerrufen. Zumindest ein Zertifikat ist zum Prüfzeitpunkt gesperrt.",
- "Die Prüfung der Signaturprüfdaten wurde nicht durchgeführt, da bei der Prüfung der Gültigkeit der Signatur ein Fehler aufgetreten ist."
- };
- int certCheckCode = Integer.parseInt(checksInfo.getCertCheckCode());
- certCheckCode = (certCheckCode == 99) ? 6 : certCheckCode;
- out.print("<td align=\"left\"><p><code>");
- if (certCheckCode != 0) out.print("<font color=\"red\">");
- out.print(certCheckMsgs[certCheckCode]);
- if (certCheckCode != 0) out.print("</font>");
- %>
- </code></p></td></tr></table>
-
- <!-- ######################################################### -->
- <!-- Signierte Daten -->
- <!-- ######################################################### -->
-
- <table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
- <th>
- <tr span="2"><b>Signierte Daten</b></tr>
- </th>
- <%
- int i = 0;
- int j = 0;
- do
- {
- dataInfo.setHashInputDataCount(i);
- String hashDataInputURL = dataInfo.getHashInputDataURL();
- if (hashDataInputURL == null) break;
- boolean doShow = dataInfo.getShowHashInputData();
- if (doShow)
- {
- out.print("<tr><td width=\"150px\" align=\"right\"><code>");
-
- // out.print("<a href=\"" + response.encodeURL(request.getContextPath() + dataInfo.getHashInputDataURL()) + "\"");
- out.print(
- "<a href=\"" +
- ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite(
- request.getContextPath() + dataInfo.getHashInputDataURL(), request.getSession()) +
- "\"");
-
- boolean isSLXHTML = dataInfo.getIsSLXHTMLDocument();
- if (isSLXHTML) out.write(" target=\"_blank\"");
- out.print(">Datei Nr." + (j + 1) + "</a>");
- out.print("</code></td><td align=\"left\">");
- if (isSLXHTML)
- {
- out.print(" Die Datei kann in einem eigenen Browser-Fenster angezeigt werden.");
- }
- else
- {
- out.print("Der Typ der Datei ist nicht bekannt. Die Datei kann in Binärform heruntergeladen werden.");
- }
- out.print("</td><tr>");
- j++;
- }
- i++;
- }
- while (true);
- %>
- </table>
-
- <p>
- <a href="<%out.print(
- ((at.gv.egovernment.moa.spss.slinterface.URLRewriter) application.getAttribute(at.gv.egovernment.moa.spss.slinterface.Constants.WSCP_URL_REWRITER_)).rewrite(
- request.getContextPath() + "/return", request.getSession()));%>">
- Zurück zur Anwendung ...</a>
- </p>
- </td>
- </tr>
- </table>
- </body>
-</html>
\ No newline at end of file diff --git a/spss.slinterface/pages/test/bildspeicher/bild2.jpg b/spss.slinterface/pages/test/bildspeicher/bild2.jpg Binary files differdeleted file mode 100644 index 24e45d182..000000000 --- a/spss.slinterface/pages/test/bildspeicher/bild2.jpg +++ /dev/null diff --git a/spss.slinterface/pages/test/dataURL.jsp b/spss.slinterface/pages/test/dataURL.jsp deleted file mode 100644 index affef5022..000000000 --- a/spss.slinterface/pages/test/dataURL.jsp +++ /dev/null @@ -1,44 +0,0 @@ -<%@ page contentType="text/html; ISO-8859-1" %>
-
-<jsp:useBean
- id="dataURLResult"
- class="test.at.gv.egovernment.moa.spss.slinterface.DataURLBean" scope="request">
-</jsp:useBean>
-
-<html>
-<head>
- <title>Testanwendung für MOA SL - Resultat</title>
-</head>
- <body>
-<form action="" method="post">
-<table width="800px" align="center">
-<tr>
-<td>
-<h1 align="center">Testanwendung für MOA SL - Resultat</h1>
-<p align="center">Die folgenden Daten wurden von MOA SL als Ergebnis gesendet.</p>
-<table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3">
-<tr>
-<td>Content-Type</td>
-<td>
-<textarea name="DataURL" cols="80" rows="1">
-<jsp:getProperty name="dataURLResult" property="contentType"/>
-</textarea>
-<td>
-</tr>
-<tr>
-<td>Inhalt</td>
-<td>
-<textarea name="XMLRequest" cols=80 rows=20>
-<jsp:getProperty name="dataURLResult" property="content"/>
-</textarea>
-</td>
-</tr>
-</table>
-<p align="center">
-</p>
-</td>
-</tr>
-</table>
-</form>
-</body>
-</html>
diff --git a/spss.slinterface/pages/test/forms/verify.default.jsp b/spss.slinterface/pages/test/forms/verify.default.jsp deleted file mode 100644 index 5392e0df8..000000000 --- a/spss.slinterface/pages/test/forms/verify.default.jsp +++ /dev/null @@ -1,99 +0,0 @@ -<%@ page contentType="text/html; ISO-8859-1" %> - -<jsp:useBean - id="initPropertiesBean" - class="at.gv.egovernment.moa.spss.slinterface.beans.InitPropertiesBean" scope="application"> -</jsp:useBean> - -<html> -<head> - <title>Testanwendung für MOA SL</title> -</head> - <body> -<form action="<% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/http-security-layer-request" method="post"> -<table width="800px" align="center"> -<tr> -<td> -<h1 align="center">Testanwendung für MOA SL</h1> -<p align="center">Das signierte Dokument ist kein Security-Layer XHTML Dokument.</p> -<table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3"> -<tr> -<td>Signaturprüfungsrequest</td> -<td> -<textarea name="XMLRequest" cols=80 rows=20> -<?xml version="1.0" encoding="UTF-8"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <XMLContent> -<dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="xmlDocument.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:import href="stylesheet.xsl"/> - </xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>qWbsEi/iFwXaXZvCBanbFu7poqQ=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="bild1.gif"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>mCGwDv9ku7uHVbL4bkNC8o52LrE=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-3" URI="bild2.jpg"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Jc6oVCCGjgvFFYQR6jklGkGL4l4=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>8HbxBKILDNRUeewGlObTKbBsB18=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>hgityh9+8rEQjPzU0+6R/6rol3k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>AfkIFItBFm9bTyciEQFwd+nx/5wfuDzAOPhfgEl8s8OVeyL/ZH99+4inrDTcrM6E -yhnKu/OZYfBdZicia9SGwXtnXabaUrOu/yMoxyh0DYoJY0ujLZFr6ywg4vZkM6X3 -tif5UrwAlSqnfJquT203GqpOS6euTZW86RRnvdR/4Jc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU -MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE -CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh -bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE -AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow -gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD -SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp -b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk -ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV -IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t -ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx -26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC -MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe -MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh -dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 -BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf -dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV -HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m -zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL -o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT -V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifest-1-1"><dsig:Reference URI="stylesheet.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>/KjC84jSkt2ZHN35vNKXBvI2p80=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-12-03T11:51:13</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-1-2"><etsi:MimeType>img/gif</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-1-3"><etsi:MimeType>img/jpg</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature> - </XMLContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/pages/test/stylesheet.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="xmlDocument.xml"> - <XMLContent> - <XMLDarstellung xmlns="urn:instance">Etwas Text. Dann kommt das erste Bild.<Bild Reference="bild1.gif"/>Wieder etwas Text. Dann kommt das zweite Bild.<Bild Reference="bild2.jpg"/>Und noch ein wenig finaler Text.</XMLDarstellung> - </XMLContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="bild1.gif"> - <Base64Content>R0lGODlhHgAPAJEAAAD/AAAAAAAAAAAAACwAAAAAHgAPAAAIJAABCBxIsKDBgwgTKlzIsKHD -hxAjSpxIsaLFixgzatzIsePDgAA7</Base64Content> - </Content> - </Supplement> - <Supplement> - <Content Reference="bild2.jpg"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/pages/test/bildspeicher/bild2.jpg</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> -</textarea> -</td> -</tr> -<tr> -<td>DataURL</td> -<td><input name="DataURL" value="<% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/dataurl" size=70/> -</td> -</tr> -</table> -<p align="center"> -<input type="submit"> -</p> -</td> -</tr> -</table> -</form> -</body> -</html> diff --git a/spss.slinterface/pages/test/forms/verify.slxhtml.jsp b/spss.slinterface/pages/test/forms/verify.slxhtml.jsp deleted file mode 100644 index 2dfd90a5b..000000000 --- a/spss.slinterface/pages/test/forms/verify.slxhtml.jsp +++ /dev/null @@ -1,99 +0,0 @@ -<%@ page contentType="text/html; ISO-8859-1" %> - -<jsp:useBean - id="initPropertiesBean" - class="at.gv.egovernment.moa.spss.slinterface.beans.InitPropertiesBean" scope="application"> -</jsp:useBean> - -<html> -<head> - <title>Testanwendung für MOA SL</title> -</head> - <body> -<form action="<% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/http-security-layer-request" method="post"> -<table width="800px" align="center"> -<tr> -<td> -<h1 align="center">Testanwendung für MOA SL</h1> -<p align="center">Das signierte Dokument ist ein Security-Layer XHTML Dokument.</p> -<table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3"> -<tr> -<td>Signaturprüfungsrequest</td> -<td> -<textarea name="XMLRequest" cols=80 rows=20> -<?xml version="1.0" encoding="UTF-8"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <XMLContent> -<dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-1-1" URI="xmlDocument.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:import href="stylesheet.xsl"/> - </xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>qWbsEi/iFwXaXZvCBanbFu7poqQ=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&amp;InstanceDocRef=0" URI="bild1.gif"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>mCGwDv9ku7uHVbL4bkNC8o52LrE=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-3" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&amp;InstanceDocRef=0" URI="bild2.jpg"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Jc6oVCCGjgvFFYQR6jklGkGL4l4=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>8HbxBKILDNRUeewGlObTKbBsB18=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>QixjzDGm3YVNnrWBVdkNLlp2Pmk=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>wAt9rJy+7xx4b5VcMyGC9iwAtK+bHpMrqsiz5fLyXQJ11Iq+ME/yHhglv3u3cp6d -BCsNAuMacqEM0qGJ2xoIaxVPS5QIPJoF6KuS7t4rPGRW9g04EgE8xyRkH6qyxP9J -ilfBOISA/1GJcEejFeJdOkTLFrH7toE+IqB2fEl7eKs=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU -MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE -CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh -bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE -AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow -gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD -SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp -b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk -ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV -IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t -ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx -26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC -MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe -MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh -dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 -BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf -dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV -HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m -zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL -o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT -V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifest-1-1"><dsig:Reference URI="stylesheet.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>/KjC84jSkt2ZHN35vNKXBvI2p80=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-12-03T10:13:28</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-1-2"><etsi:MimeType>img/gif</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-1-3"><etsi:MimeType>img/jpg</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature> - </XMLContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/pages/test/stylesheet.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="xmlDocument.xml"> - <XMLContent> - <XMLDarstellung xmlns="urn:instance">Etwas Text. Dann kommt das erste Bild.<Bild Reference="bild1.gif"/>Wieder etwas Text. Dann kommt das zweite Bild.<Bild Reference="bild2.jpg"/>Und noch ein wenig finaler Text.</XMLDarstellung> - </XMLContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="bild1.gif"> - <Base64Content>R0lGODlhHgAPAJEAAAD/AAAAAAAAAAAAACwAAAAAHgAPAAAIJAABCBxIsKDBgwgTKlzIsKHD -hxAjSpxIsaLFixgzatzIsePDgAA7</Base64Content> - </Content> - </Supplement> - <Supplement> - <Content Reference="bild2.jpg"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/pages/test/bildspeicher/bild2.jpg</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> -</textarea> -</td> -</tr> -<tr> -<td>DataURL</td> -<td><input name="DataURL" value="<% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/dataurl" size=70/> -</td> -</tr> -</table> -<p align="center"> -<input type="submit"> -</p> -</td> -</tr> -</table> -</form> -</body> -</html> diff --git a/spss.slinterface/pages/test/stylesheet.xsl b/spss.slinterface/pages/test/stylesheet.xsl deleted file mode 100644 index 9af3e3cc6..000000000 --- a/spss.slinterface/pages/test/stylesheet.xsl +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xmlspysamplexml e:\cio\projekte\erecht\beispiele\xmlDokument.xml?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:inst="urn:instance"> - <xsl:output encoding="UTF-8" method="xml" indent="yes"/> - <xsl:template match="/inst:XMLDarstellung"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>HTML-Darstellung</title> - </head> - <body> - <p> - <xsl:for-each select="child::node()"> - <xsl:choose> - <xsl:when test="./self::text()"> - <xsl:value-of select="."/> - </xsl:when> - <xsl:when test="./self::inst:Bild"> - <img> - <xsl:attribute name="src"><xsl:value-of select="./@Reference"/></xsl:attribute> - <xsl:attribute name="alt">alternative text</xsl:attribute> - </img> - </xsl:when> - </xsl:choose> - </xsl:for-each> - </p> - </body> - </html> - </xsl:template> -</xsl:stylesheet> diff --git a/spss.slinterface/res/resources/schemas/Core.20020225.xsd b/spss.slinterface/res/resources/schemas/Core.20020225.xsd deleted file mode 100644 index 627c74ea7..000000000 --- a/spss.slinterface/res/resources/schemas/Core.20020225.xsd +++ /dev/null @@ -1,399 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!-- Securitylayer, Schnittstellenspezifikation -->
-<!-- XML-Schema für Schnittstellenspezifikation Version 1.1.0, Protokollelemente im datierten Namespace 20020225 -->
-<!-- 31. 08. 2002, Operative Unit, CIO, BMOeLS -->
-<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.0">
- <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
- <!--########### Create CMS Signature ###-->
- <!--### Create CMS Signature Request ###-->
- <xsd:element name="CreateCMSSignatureRequest" type="CreateCMSSignatureRequestType"/>
- <xsd:complexType name="CreateCMSSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/>
- <xsd:element name="DataObject" type="CMSDataObjectRequiredMetaType"/>
- </xsd:sequence>
- <xsd:attribute name="Structure" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="detached"/>
- <xsd:enumeration value="enveloping"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- <xsd:complexType name="CMSDataObjectRequiredMetaType">
- <xsd:complexContent>
- <xsd:restriction base="CMSDataObjectOptionalMetaType">
- <xsd:sequence>
- <xsd:element name="MetaInfo" type="MetaInfoType"/>
- <xsd:element name="Content" type="CMSContentBaseType"/>
- </xsd:sequence>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="CMSDataObjectOptionalMetaType">
- <xsd:sequence>
- <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
- <xsd:element name="Content" type="CMSContentBaseType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="CMSContentBaseType">
- <xsd:complexContent>
- <xsd:restriction base="ContentOptionalRefType">
- <xsd:choice minOccurs="0">
- <xsd:element name="Base64Content" type="xsd:base64Binary"/>
- </xsd:choice>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <!--### Create CMS Siganture Response ###-->
- <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/>
- <xsd:complexType name="CreateCMSSignatureResponseType">
- <xsd:sequence>
- <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Create XML Signature ###-->
- <!--### Create XML Signature Request ###-->
- <xsd:element name="CreateXMLSignatureRequest" type="CreateXMLSignatureRequestType"/>
- <xsd:complexType name="CreateXMLSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/>
- <xsd:element name="DataObjectInfo" type="DataObjectInfoType" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="MetaInfoType">
- <xsd:sequence>
- <xsd:element name="MimeType" type="MimeTypeType"/>
- <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/>
- <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="DataObjectInfoType">
- <xsd:sequence>
- <xsd:element name="DataObject" type="ContentOptionalRefType"/>
- <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
- <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="Structure" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="detached"/>
- <xsd:enumeration value="enveloping"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- <xsd:complexType name="TransformsInfoType">
- <xsd:sequence>
- <xsd:element ref="dsig:Transforms" minOccurs="0"/>
- <xsd:element name="FinalDataMetaInfo" type="MetaInfoType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="XMLDataObjectAssociationType">
- <xsd:sequence>
- <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
- <xsd:element name="Content" type="ContentRequiredRefType"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Create XML Signature Response ###-->
- <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
- <xsd:complexType name="CreateXMLSignatureResponseType">
- <xsd:sequence>
- <xsd:element ref="dsig:Signature"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Verify CMS Signature ###-->
- <!--### Verifiy CMS Signature Request ###-->
- <xsd:element name="VerifyCMSSignatureRequest" type="VerifyCMSSignatureRequestType"/>
- <xsd:complexType name="VerifyCMSSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
- <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
- <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Verify CMS Signature Response ###-->
- <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/>
- <xsd:complexType name="VerifyCMSSignatureResponseType">
- <xsd:sequence>
- <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/>
- <xsd:element name="SignatureCheck" type="CheckResultType"/>
- <xsd:element name="CertificateCheck" type="CheckResultType"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Verify XML Signature ###-->
- <!--### Verify XML Signature Request ###-->
- <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
- <xsd:complexType name="VerifyXMLSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
- <xsd:element name="SignatureInfo">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="SignatureEnvironment">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:any namespace="##any" processContents="skip"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="SignatureLocation" type="xsd:token"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Verify XML Signature Response ###-->
- <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/>
- <xsd:complexType name="VerifyXMLSignatureResponseType">
- <xsd:sequence>
- <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/>
- <xsd:element name="SignatureCheck" type="CheckResultType"/>
- <xsd:element name="SignatureManifestCheck" type="CheckResultType"/>
- <xsd:element name="CertificateCheck" type="CheckResultType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="CheckResultType">
- <xsd:sequence>
- <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
- <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Infobox Commands ###-->
- <!--### Check Available Infoboxes Request ###-->
- <xsd:element name="InfoboxAvailableRequest" type="InfoboxAvailableRequestType"/>
- <xsd:complexType name="InfoboxAvailableRequestType"/>
- <!--### Check Available Infoboxes Response ###-->
- <xsd:element name="InfoboxAvailableResponse" type="InfoboxAvailableResponseType"/>
- <xsd:complexType name="InfoboxAvailableResponseType">
- <xsd:sequence minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Read Infobox Request ###-->
- <xsd:element name="InfoboxReadRequest" type="InfoboxReadRequestType"/>
- <xsd:complexType name="InfoboxReadRequestType">
- <xsd:sequence>
- <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
- <xsd:choice>
- <xsd:element name="BinaryFileParameters" type="InfoboxReadParamsBinaryFileType"/>
- <xsd:element name="AssocArrayParameters" type="InfoboxReadParamsAssocArrayType"/>
- </xsd:choice>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="InfoboxReadParamsBinaryFileType">
- <xsd:attribute name="ContentIsXMLEntity" type="xsd:boolean" use="optional" default="false"/>
- </xsd:complexType>
- <xsd:complexType name="InfoboxReadParamsAssocArrayType">
- <xsd:choice>
- <xsd:element name="ReadKeys">
- <xsd:complexType>
- <xsd:attribute name="SearchString" type="WildCardSearchStringType" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ReadPairs">
- <xsd:complexType>
- <xsd:attribute name="SearchString" type="WildCardSearchStringType" use="required"/>
- <xsd:attribute name="ValuesAreXMLEntities" type="xsd:boolean" use="optional" default="false"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ReadValue">
- <xsd:complexType>
- <xsd:attribute name="Key" type="BoxIdentifierType" use="required"/>
- <xsd:attribute name="ValueIsXMLEntity" type="xsd:boolean" use="optional" default="false"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- <!--### Read Infobox Response ###-->
- <xsd:element name="InfoboxReadResponse" type="InfoboxReadResponseType"/>
- <xsd:complexType name="InfoboxReadResponseType">
- <xsd:choice>
- <xsd:element name="BinaryFileData" type="ContentBaseType"/>
- <xsd:element name="AssocArrayData" type="InfoboxReadDataAssocArrayType"/>
- </xsd:choice>
- </xsd:complexType>
- <xsd:complexType name="InfoboxReadDataAssocArrayType">
- <xsd:choice>
- <xsd:sequence minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="Key" type="BoxIdentifierType"/>
- </xsd:sequence>
- <xsd:sequence minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="Pair" type="InfoboxAssocArrayPairType"/>
- </xsd:sequence>
- </xsd:choice>
- </xsd:complexType>
- <!--### Update Infobox Request ###-->
- <xsd:element name="InfoboxUpdateRequest" type="InfoboxUpdateRequestType"/>
- <xsd:complexType name="InfoboxUpdateRequestType">
- <xsd:sequence>
- <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
- <xsd:choice>
- <xsd:element name="BinaryFileParameters" type="ContentBaseType"/>
- <xsd:element name="AssocArrayParameters" type="InfoboxUpdateParamsAssocArrayType"/>
- </xsd:choice>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="InfoboxUpdateParamsAssocArrayType">
- <xsd:choice>
- <xsd:element name="UpdateKey">
- <xsd:complexType>
- <xsd:attribute name="Key" type="xsd:token" use="required"/>
- <xsd:attribute name="NewKey" type="xsd:token" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="UpdateValue" type="InfoboxAssocArrayPairType"/>
- <xsd:element name="DeletePair">
- <xsd:complexType>
- <xsd:attribute name="Key" type="xsd:token" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- <!--### Update Infobox Response ###-->
- <xsd:element name="InfoboxUpdateResponse" type="InfoboxUpdateResponseType"/>
- <xsd:complexType name="InfoboxUpdateResponseType"/>
- <!--########## Create Session Certificate ###-->
- <!--### Create Session Certificate Request ###-->
- <xsd:element name="CreateSessionKeyRequest" type="CreateSessionKeyRequestType"/>
- <xsd:complexType name="CreateSessionKeyRequestType">
- <xsd:sequence>
- <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/>
- <xsd:element name="Password" type="xsd:string"/>
- <xsd:element name="Minutes" type="xsd:positiveInteger"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Create Session Certificate Response ###-->
- <xsd:element name="CreateSessionKeyResponse" type="CreateSessionKeyResponseType"/>
- <xsd:complexType name="CreateSessionKeyResponseType">
- <xsd:sequence>
- <xsd:element name="PKCS12Object" type="xsd:base64Binary"/>
- <xsd:element name="Certificate" type="xsd:base64Binary"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Create Symmetric Key ###-->
- <!--### Create SymmetricKey Request ###-->
- <xsd:element name="CreateSymmetricSecretRequest" type="CreateSymmetricSecretRequestType"/>
- <xsd:complexType name="CreateSymmetricSecretRequestType" mixed="false">
- <xsd:sequence>
- <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/>
- <xsd:element ref="dsig:KeyInfo"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Create SymmetricKey Response ###-->
- <xsd:element name="CreateSymmetricSecretResponse" type="CreateSymmetricSecretResponseType"/>
- <xsd:complexType name="CreateSymmetricSecretResponseType" mixed="false">
- <xsd:sequence>
- <xsd:element name="SymmetricSecretValue" type="xsd:base64Binary"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Get Properties ###-->
- <!--### Get Properties Request ###-->
- <xsd:element name="GetPropertiesRequest" type="GetPropertiesRequestType"/>
- <xsd:complexType name="GetPropertiesRequestType"/>
- <!--### Get Properties Response ###-->
- <xsd:element name="GetPropertiesResponse" type="GetPropertiesResponseType"/>
- <xsd:complexType name="GetPropertiesResponseType">
- <xsd:sequence>
- <xsd:element name="ViewerMediaType" type="MimeTypeType" maxOccurs="unbounded"/>
- <xsd:element name="XMLSignatureTransform" type="xsd:anyURI" minOccurs="5" maxOccurs="unbounded"/>
- <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType" minOccurs="2" maxOccurs="unbounded"/>
- <xsd:element name="Binding" type="BindingType" minOccurs="2" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="BindingType" mixed="true">
- <xsd:complexContent mixed="true">
- <xsd:extension base="AnyChildrenType">
- <xsd:attribute name="Identifier" type="xsd:token" use="required"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <!--########### Get Token Status ###-->
- <!--### Get Token Status Reqeust ###-->
- <xsd:element name="GetStatusRequest" type="GetStatusRequestType"/>
- <xsd:complexType name="GetStatusRequestType">
- <xsd:sequence minOccurs="0">
- <xsd:element name="TokenStatus" type="TokenStatusType"/>
- <xsd:element name="MaxDelay" type="xsd:nonNegativeInteger"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Get Token Status Response ###-->
- <xsd:element name="GetStatusResponse" type="GetStatusResponseType"/>
- <xsd:complexType name="GetStatusResponseType">
- <xsd:sequence>
- <xsd:element name="TokenStatus" type="TokenStatusType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:simpleType name="TokenStatusType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="ready"/>
- <xsd:enumeration value="removed"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!--########## Error Response ###-->
- <xsd:element name="ErrorResponse" type="ErrorResponseType"/>
- <xsd:complexType name="ErrorResponseType">
- <xsd:sequence>
- <xsd:element name="ErrorCode" type="xsd:integer"/>
- <xsd:element name="Info" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Auxiliary Types ###-->
- <xsd:simpleType name="BoxIdentifierType">
- <xsd:restriction base="xsd:token"/>
- </xsd:simpleType>
- <xsd:simpleType name="MimeTypeType">
- <xsd:restriction base="xsd:token"/>
- </xsd:simpleType>
- <xsd:simpleType name="WildCardSearchStringType">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="[^\*/]*(\*[^\*/]*)?(/[^\*/]*(\*[^\*/]*)?)*"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:complexType name="AnyChildrenType" mixed="true">
- <xsd:sequence minOccurs="0" maxOccurs="unbounded">
- <xsd:any namespace="##any" processContents="lax"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="XMLContentType" mixed="true">
- <xsd:complexContent mixed="true">
- <xsd:extension base="AnyChildrenType">
- <xsd:attribute ref="xml:space" use="optional"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="ContentBaseType">
- <xsd:choice minOccurs="0">
- <xsd:element name="Base64Content" type="xsd:base64Binary"/>
- <xsd:element name="XMLContent" type="XMLContentType"/>
- </xsd:choice>
- </xsd:complexType>
- <xsd:complexType name="ContentOptionalRefType">
- <xsd:complexContent>
- <xsd:extension base="ContentBaseType">
- <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="ContentRequiredRefType">
- <xsd:complexContent>
- <xsd:restriction base="ContentOptionalRefType">
- <xsd:choice>
- <xsd:element name="Base64Content" type="xsd:base64Binary"/>
- <xsd:element name="XMLContent" type="XMLContentType"/>
- </xsd:choice>
- <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="InfoboxAssocArrayPairType">
- <xsd:complexContent>
- <xsd:extension base="ContentBaseType">
- <xsd:attribute name="Key" type="xsd:string" use="required"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
-</xsd:schema>
diff --git a/spss.slinterface/res/resources/schemas/Core.20020831.xsd b/spss.slinterface/res/resources/schemas/Core.20020831.xsd deleted file mode 100644 index 48345fd4d..000000000 --- a/spss.slinterface/res/resources/schemas/Core.20020831.xsd +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!-- Securitylayer, Schnittstellenspezifikation -->
-<!-- XML-Schema für Schnittstellenspezifikation Version 1.1.0, Protokollelemente im datierten Namespace 20020831 -->
-<!-- 31. 08. 2002, Operative Unit, CIO, BMOeLS -->
-<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.0">
- <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
- <xsd:import namespace="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" schemaLocation="Core.20020225.xsd"/>
- <!--########## Create XML Signature ###-->
- <!--### Create XML Signature Request ###-->
- <xsd:element name="CreateXMLSignatureRequest" type="CreateXMLSignatureRequestType"/>
- <xsd:complexType name="CreateXMLSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="KeyboxIdentifier" type="sl10:BoxIdentifierType"/>
- <xsd:element name="DataObjectInfo" type="sl10:DataObjectInfoType" maxOccurs="unbounded"/>
- <xsd:element name="SignatureInfo" type="SignatureInfoCreationType" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="SignatureInfoCreationType">
- <xsd:sequence>
- <xsd:element name="SignatureEnvironment" type="sl10:ContentOptionalRefType"/>
- <xsd:element name="SignatureLocation">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:token">
- <xsd:attribute name="Index" type="xsd:nonNegativeInteger" use="required"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="Supplement" type="sl10:XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Create XML Signature Response ###-->
- <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
- <xsd:complexType name="CreateXMLSignatureResponseType">
- <xsd:sequence>
- <xsd:any namespace="##any" processContents="lax"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--########## Verify CMS Signature ###-->
- <!--### Verifiy CMS Signature Request ###-->
- <xsd:element name="VerifyCMSSignatureRequest" type="VerifyCMSSignatureRequestType"/>
- <xsd:complexType name="VerifyCMSSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
- <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
- <xsd:element name="DataObject" type="sl10:CMSDataObjectOptionalMetaType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/>
- </xsd:complexType>
- <xsd:simpleType name="SignatoriesType">
- <xsd:union memberTypes="AllSignatoriesType">
- <xsd:simpleType>
- <xsd:list itemType="xsd:positiveInteger"/>
- </xsd:simpleType>
- </xsd:union>
- </xsd:simpleType>
- <xsd:simpleType name="AllSignatoriesType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="all"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!--### Verify CMS Signature Response ###-->
- <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/>
- <xsd:complexType name="VerifyCMSSignatureResponseType">
- <xsd:sequence maxOccurs="unbounded">
- <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/>
- <xsd:element name="SignatureCheck" type="sl10:CheckResultType"/>
- <xsd:element name="CertificateCheck" type="sl10:CheckResultType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="QualifiedCertificate"/>
- <!--########## Verify XML Signature ###-->
- <!--### Verify XML Signature Request ###-->
- <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
- <xsd:complexType name="VerifyXMLSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
- <xsd:element name="SignatureInfo" type="SignatureInfoVerificationType"/>
- <xsd:element name="Supplement" type="sl10:XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="SignatureInfoVerificationType">
- <xsd:sequence>
- <xsd:element name="SignatureEnvironment" type="sl10:ContentOptionalRefType"/>
- <xsd:element name="SignatureLocation" type="xsd:token"/>
- </xsd:sequence>
- </xsd:complexType>
- <!--### Verify XML Signature Response ###-->
- <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/>
- <xsd:complexType name="VerifyXMLSignatureResponseType">
- <xsd:sequence>
- <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/>
- <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/>
- <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType"/>
- <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="CertificateCheck" type="sl10:CheckResultType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="ReferencesCheckResultType">
- <xsd:complexContent>
- <xsd:restriction base="sl10:CheckResultType">
- <xsd:sequence>
- <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
- <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/>
- </xsd:sequence>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true">
- <xsd:complexContent mixed="true">
- <xsd:restriction base="sl10:AnyChildrenType">
- <xsd:sequence>
- <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="ManifestRefsCheckResultType">
- <xsd:complexContent>
- <xsd:restriction base="sl10:CheckResultType">
- <xsd:sequence>
- <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
- <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/>
- </xsd:sequence>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true">
- <xsd:complexContent mixed="true">
- <xsd:extension base="ReferencesCheckResultInfoType">
- <xsd:sequence>
- <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <!--########## Get Properties ###-->
- <!--### Get Properties Response ###-->
- <xsd:element name="GetPropertiesResponse" type="GetPropertiesResponseType"/>
- <xsd:complexType name="GetPropertiesResponseType">
- <xsd:sequence>
- <xsd:element name="ViewerMediaType" type="sl10:MimeTypeType" maxOccurs="unbounded"/>
- <xsd:element name="XMLSignatureTransform" type="xsd:anyURI" maxOccurs="unbounded"/>
- <xsd:element name="KeyboxIdentifier" type="sl10:BoxIdentifierType" maxOccurs="unbounded"/>
- <xsd:element name="Binding" type="sl10:BindingType" maxOccurs="unbounded"/>
- <xsd:element name="ProtocolVersion" type="xsd:anyURI" maxOccurs="unbounded"/>
- <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/spss.slinterface/res/resources/schemas/Core.20031231.xsd b/spss.slinterface/res/resources/schemas/Core.20031231.xsd deleted file mode 100644 index 194be22a8..000000000 --- a/spss.slinterface/res/resources/schemas/Core.20031231.xsd +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!-- Securitylayer, Schnittstellenspezifikation -->
-<!-- XML-Schema für Schnittstellenspezifikation Version 1.2.0, Protokollelemente im datierten Namespace 20031231 -->
-<!-- 19. 11. 2003, Stabstelle IKT-Strategie, Bundeskanzleramt -->
-<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.0">
- <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
- <xsd:import namespace="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" schemaLocation="Core.20020225.xsd"/>
- <xsd:import namespace="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" schemaLocation="Core.20020831.xsd"/>
- <!--########## Verify XML Signature ###-->
- <!--### Verify XML Signature Request ###-->
- <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
- <xsd:complexType name="VerifyXMLSignatureRequestType">
- <xsd:sequence>
- <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
- <xsd:element name="SignatureInfo" type="SignatureInfoVerificationType"/>
- <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="SignatureInfoVerificationType">
- <xsd:sequence>
- <xsd:element name="SignatureEnvironment" type="ContentOptionalRefType"/>
- <xsd:element name="SignatureLocation" type="xsd:token"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="ContentBaseType">
- <xsd:choice minOccurs="0">
- <xsd:element name="Base64Content" type="xsd:base64Binary"/>
- <xsd:element name="XMLContent" type="sl10:XMLContentType"/>
- <xsd:element name="LocRefContent" type="xsd:anyURI"/>
- </xsd:choice>
- </xsd:complexType>
- <xsd:complexType name="ContentOptionalRefType">
- <xsd:complexContent>
- <xsd:extension base="ContentBaseType">
- <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="ContentRequiredRefType">
- <xsd:complexContent>
- <xsd:restriction base="ContentOptionalRefType">
- <xsd:choice minOccurs="0">
- <xsd:element name="Base64Content" type="xsd:base64Binary"/>
- <xsd:element name="XMLContent" type="sl10:XMLContentType"/>
- <xsd:element name="LocRefContent" type="xsd:anyURI"/>
- </xsd:choice>
- <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/>
- </xsd:restriction>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="XMLDataObjectAssociationType">
- <xsd:sequence>
- <xsd:element name="MetaInfo" type="sl10:MetaInfoType" minOccurs="0"/>
- <xsd:element name="Content" type="ContentRequiredRefType"/>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
diff --git a/spss.slinterface/res/resources/schemas/MOA-SPSS-1.3.xsd b/spss.slinterface/res/resources/schemas/MOA-SPSS-1.3.xsd deleted file mode 100644 index 481530276..000000000 --- a/spss.slinterface/res/resources/schemas/MOA-SPSS-1.3.xsd +++ /dev/null @@ -1,469 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - MOA SP/SS 1.3 Schema ---> -<xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> - <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - <!--########## Create XML Signature ###--> - <!--### Create XML Signature Request ###--> - <xsd:element name="CreateXMLSignatureRequest"> - <xsd:complexType> - <xsd:complexContent> - <xsd:extension base="CreateXMLSignatureRequestType"/> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> - <xsd:complexType name="CreateXMLSignatureRequestType"> - <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> - <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> - <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="DataObjectInfo" maxOccurs="unbounded"> - <xsd:complexType> - <xsd:complexContent> - <xsd:extension base="DataObjectInfoType"> - <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> - <xsd:element name="CreateSignatureInfo" minOccurs="0"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/> - <xsd:choice> - <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation> - </xsd:annotation> - <xsd:element ref="CreateSignatureEnvironmentProfile"/> - <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/> - </xsd:choice> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - <!--### Create XML Signature Response ###--> - <xsd:complexType name="CreateXMLSignatureResponseType"> - <xsd:choice maxOccurs="unbounded"> - <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> - </xsd:annotation> - <xsd:element name="SignatureEnvironment"> - <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:any namespace="##any" processContents="lax"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element ref="ErrorResponse"/> - </xsd:choice> - </xsd:complexType> - <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/> - <!--########## Verify CMS Signature ###--> - <!--### Verifiy CMS Signature Request ###--> - <xsd:element name="VerifyCMSSignatureRequest"> - <xsd:complexType> - <xsd:complexContent> - <xsd:extension base="VerifyCMSSignatureRequestType"> - <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> - <xsd:complexType name="VerifyCMSSignatureRequestType"> - <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="CMSSignature" type="xsd:base64Binary"/> - <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/> - <xsd:element name="TrustProfileID" type="xsd:token"> - <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> - </xsd:annotation> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - <!--### Verify CMS Signature Response ###--> - <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/> - <xsd:complexType name="VerifyCMSSignatureResponseType"> - <xsd:sequence maxOccurs="unbounded"> - <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> - <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - </xsd:sequence> - </xsd:complexType> - <!--########## Verify XML Signature ###--> - <!--### Verify XML Signature Request ###--> - <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/> - <xsd:complexType name="VerifyXMLSignatureRequestType"> - <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="VerifySignatureInfo"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType"/> - <xsd:element name="VerifySignatureLocation" type="xsd:token"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="SupplementProfile"/> - <xsd:element name="SupplementProfileID" type="xsd:string"/> - </xsd:choice> - <xsd:element name="SignatureManifestCheckParams" minOccurs="0"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded"> - <xsd:annotation> - <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation> - </xsd:annotation> - </xsd:element> - </xsd:sequence> - <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="ReturnHashInputData" minOccurs="0"/> - <xsd:element name="TrustProfileID" type="xsd:token"> - <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> - </xsd:annotation> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - <!--### Verify XML Signature Response ###--> - <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/> - <xsd:complexType name="VerifyXMLSignatureResponseType"> - <xsd:sequence> - <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> - <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> - <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> - <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - </xsd:sequence> - </xsd:complexType> - <xsd:simpleType name="ProfileIdentifierType"> - <xsd:restriction base="xsd:token"/> - </xsd:simpleType> - <xsd:complexType name="InputDataType"> - <xsd:complexContent> - <xsd:extension base="ContentExLocRefBaseType"> - <xsd:attribute name="PartOf" use="optional" default="SignedInfo"> - <xsd:simpleType> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="SignedInfo"/> - <xsd:enumeration value="XMLDSIGManifest"/> - </xsd:restriction> - </xsd:simpleType> - </xsd:attribute> - <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" use="optional"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="MetaInfoType"> - <xsd:sequence> - <xsd:element name="MimeType" type="MimeTypeType"/> - <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/> - <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="FinalDataMetaInfoType"> - <xsd:complexContent> - <xsd:extension base="MetaInfoType"> - <xsd:sequence> - <xsd:element name="Type" type="xsd:anyURI" minOccurs="0"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="DataObjectInfoType"> - <xsd:sequence> - <xsd:element name="DataObject"> - <xsd:complexType> - <xsd:complexContent> - <xsd:extension base="ContentOptionalRefType"/> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> - <xsd:choice> - <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation> - </xsd:annotation> - <xsd:element ref="CreateTransformsInfoProfile"/> - <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/> - </xsd:choice> - </xsd:sequence> - <xsd:attribute name="Structure" use="required"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="detached"/> - <xsd:enumeration value="enveloping"/> - </xsd:restriction> - </xsd:simpleType> - </xsd:attribute> - </xsd:complexType> - <xsd:complexType name="TransformsInfoType"> - <xsd:sequence> - <xsd:element ref="dsig:Transforms" minOccurs="0"/> - <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="XMLDataObjectAssociationType"> - <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> - <xsd:element name="Content" type="ContentRequiredRefType"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="CMSDataObjectOptionalMetaType"> - <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> - <xsd:element name="Content" type="CMSContentBaseType"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="CMSContentBaseType"> - <xsd:complexContent> - <xsd:restriction base="ContentOptionalRefType"> - <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - </xsd:choice> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="CheckResultType"> - <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="ReferencesCheckResultType"> - <xsd:complexContent> - <xsd:restriction base="CheckResultType"> - <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true"> - <xsd:complexContent mixed="true"> - <xsd:restriction base="AnyChildrenType"> - <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ManifestRefsCheckResultType"> - <xsd:complexContent> - <xsd:restriction base="CheckResultType"> - <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true"> - <xsd:complexContent mixed="true"> - <xsd:restriction base="AnyChildrenType"> - <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <!--########## Error Response ###--> - <xsd:element name="ErrorResponse" type="ErrorResponseType"> - <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:complexType name="ErrorResponseType"> - <xsd:sequence> - <xsd:element name="ErrorCode" type="xsd:integer"/> - <xsd:element name="Info" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - <!--########## Auxiliary Types ###--> - <xsd:simpleType name="KeyIdentifierType"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - <xsd:simpleType name="KeyStorageType"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="Software"/> - <xsd:enumeration value="Hardware"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="MimeTypeType"> - <xsd:restriction base="xsd:token"/> - </xsd:simpleType> - <xsd:complexType name="AnyChildrenType" mixed="true"> - <xsd:sequence> - <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="XMLContentType" mixed="true"> - <xsd:complexContent mixed="true"> - <xsd:extension base="AnyChildrenType"> - <xsd:attribute ref="xml:space" use="optional"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ContentBaseType"> - <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - <xsd:element name="LocRefContent" type="xsd:anyURI"/> - </xsd:choice> - </xsd:complexType> - <xsd:complexType name="ContentExLocRefBaseType"> - <xsd:complexContent> - <xsd:restriction base="ContentBaseType"> - <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - </xsd:choice> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ContentOptionalRefType"> - <xsd:complexContent> - <xsd:extension base="ContentBaseType"> - <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ContentRequiredRefType"> - <xsd:complexContent> - <xsd:restriction base="ContentOptionalRefType"> - <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - <xsd:element name="LocRefContent" type="xsd:anyURI"/> - </xsd:choice> - <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="VerifyTransformsDataType"> - <xsd:choice maxOccurs="unbounded"> - <xsd:annotation> - <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation> - </xsd:annotation> - <xsd:element ref="VerifyTransformsInfoProfile"/> - <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string"> - <xsd:annotation> - <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation> - </xsd:annotation> - </xsd:element> - </xsd:choice> - </xsd:complexType> - <xsd:element name="QualifiedCertificate"/> - <xsd:element name="PublicAuthority" type="PublicAuthorityType"/> - <xsd:complexType name="PublicAuthorityType"> - <xsd:sequence> - <xsd:element name="Code" type="xsd:string" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - <xsd:simpleType name="SignatoriesType"> - <xsd:union memberTypes="AllSignatoriesType"> - <xsd:simpleType> - <xsd:list itemType="xsd:positiveInteger"/> - </xsd:simpleType> - </xsd:union> - </xsd:simpleType> - <xsd:simpleType name="AllSignatoriesType"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="all"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:complexType name="CreateSignatureLocationType"> - <xsd:simpleContent> - <xsd:extension base="xsd:token"> - <xsd:attribute name="Index" type="xsd:nonNegativeInteger" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - <xsd:complexType name="TransformParameterType"> - <xsd:choice minOccurs="0"> - <xsd:annotation> - <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation> - </xsd:annotation> - <xsd:element name="Base64Content" type="xsd:base64Binary"> - <xsd:annotation> - <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="Hash"> - <xsd:annotation> - <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="dsig:DigestMethod"/> - <xsd:element ref="dsig:DigestValue"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - </xsd:choice> - <xsd:attribute name="URI" type="xsd:anyURI" use="required"/> - </xsd:complexType> - <xsd:element name="CreateSignatureEnvironmentProfile"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType"/> - <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="VerifyTransformsInfoProfile"> - <xsd:annotation> - <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="dsig:Transforms" minOccurs="0"/> - <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded"> - <xsd:annotation> - <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation> - </xsd:annotation> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="Supplement" type="XMLDataObjectAssociationType"/> - <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType"/> - <xsd:element name="CreateTransformsInfoProfile"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="CreateTransformsInfo" type="TransformsInfoType"/> - <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> -</xsd:schema> diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-model-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-model-1.xsd deleted file mode 100644 index 140b35e84..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-model-1.xsd +++ /dev/null @@ -1,388 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- This is the XML Schema module of named XHTML content models for SLXHTML.
- SLXHTML is a profile of XHTML (see W3C copyright notice below).
-
- @author: Gregor Karlinger gregor.karlinger@cio.gv.at
- $Id: slxhtml-model-1.xsd,v 1.2 2003/11/13 18:38:16 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
- XHTML Document Model
-
- This module describes the groupings of elements/attributes that make up
- common content models for XHTML elements.
-
- XHTML has following basic content models:
-
- Inline.mix; character-level elements
- Block.mix; block-like elements, eg., paragraphs and lists
- Flow.mix; any block or inline elements
- HeadOpts.mix; Head Elements
- InlinePre.mix; Special class for pre content model
- InlineNoAnchor.mix; Content model for Anchor
-
- Any groups declared in this module may be used
- to create element content models, but the above are
- considered 'global' (insofar as that term applies here).
-
- XHTML has the following Attribute Groups
- Core.extra.attrib
- I18n.extra.attrib
- Common.extra
-
- The above attribute Groups are considered Global
-
- </xs:documentation>
- </xs:annotation>
-
- <xs:attributeGroup name="I18n.extra.attrib">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: attributeGroup "dir.attrib" removed.
- </xs:documentation>
- </xs:annotation>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="Common.extra">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: attributeGroup "style.attrib" removed.
- </xs:documentation>
- </xs:annotation>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="Core.extra.attrib">
- </xs:attributeGroup>
-
-
- <xs:group name="HeadOpts.mix">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "script", "meta", "link", "object" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="style"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Edit.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "ins", "del" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Script.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "script", "noscript" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Misc.extra">
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Misc.class">
- <xs:choice>
- <xs:group ref="Edit.class"/>
- <xs:group ref="Script.class"/>
- <xs:group ref="Misc.extra"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlStruct.class">
- <xs:choice>
- <xs:element ref="br"/>
- <xs:element ref="span"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlPhras.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "dfn", "samp", "kbd", "var", "q" , "abbr" and
- "acronym" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="em"/>
- <xs:element ref="strong"/>
- <xs:element ref="code"/>
- <xs:element ref="cite"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlPres.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "tt", "i", "b", "big", "small", "sub", "sup" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice/>
- </xs:group>
-
- <xs:group name="I18n.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: element "bdo" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence/>
- </xs:group>
-
- <xs:group name="Anchor.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: element "a" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence/>
- </xs:group>
-
- <xs:group name="InlSpecial.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "map", "object" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="img"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlForm.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "input", "select", "textara", "lable", "button" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Inline.extra">
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Ruby.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: element "ruby" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence/>
- </xs:group>
-
- <xs:group name="Inline.class">
- <xs:choice>
- <xs:group ref="InlStruct.class"/>
- <xs:group ref="InlPhras.class"/>
- <xs:group ref="InlPres.class"/>
- <xs:group ref="I18n.class"/>
- <xs:group ref="Anchor.class"/>
- <xs:group ref="InlSpecial.class"/>
- <xs:group ref="InlForm.class"/>
- <xs:group ref="Ruby.class"/>
- <xs:group ref="Inline.extra"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlNoRuby.class">
- <xs:choice>
- <xs:group ref="InlStruct.class"/>
- <xs:group ref="InlPhras.class"/>
- <xs:group ref="InlPres.class"/>
- <xs:group ref="I18n.class"/>
- <xs:group ref="Anchor.class"/>
- <xs:group ref="InlSpecial.class"/>
- <xs:group ref="InlForm.class"/>
- <xs:group ref="Inline.extra"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlinePre.mix">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: elements "tt", "i", "b", "script", "map" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:group ref="InlStruct.class"/>
- <xs:group ref="InlPhras.class"/>
- <xs:group ref="I18n.class"/>
- <xs:group ref="Anchor.class"/>
- <xs:group ref="Inline.extra"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlNoAnchor.class">
- <xs:choice>
- <xs:group ref="InlStruct.class"/>
- <xs:group ref="InlPhras.class"/>
- <xs:group ref="InlPres.class"/>
- <xs:group ref="I18n.class"/>
- <xs:group ref="InlSpecial.class"/>
- <xs:group ref="InlForm.class"/>
- <xs:group ref="Ruby.class"/>
- <xs:group ref="Inline.extra"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlNoAnchor.mix">
- <xs:choice>
- <xs:group ref="InlNoAnchor.class"/>
- <xs:group ref="Misc.class"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Inline.mix">
- <xs:choice>
- <xs:group ref="Inline.class"/>
- <xs:group ref="Misc.class"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="InlNoRuby.mix">
- <xs:choice>
- <xs:group ref="InlNoRuby.class"/>
- <xs:group ref="Misc.class"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Heading.class">
- <xs:choice>
- <xs:element ref="h1"/>
- <xs:element ref="h2"/>
- <xs:element ref="h3"/>
- <xs:element ref="h4"/>
- <xs:element ref="h5"/>
- <xs:element ref="h6"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="List.class">
- <xs:choice>
- <xs:element ref="ul"/>
- <xs:element ref="ol"/>
- <xs:element ref="dl"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Table.class">
- <xs:choice>
- <xs:element ref="table"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Form.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: element "form" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Fieldset.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: element "fieldset" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice/>
- </xs:group>
-
- <xs:group name="BlkStruct.class">
- <xs:choice>
- <xs:element ref="p"/>
- <xs:element ref="div"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="BlkPhras.class">
- <xs:annotation>
- <xs:documentation>
- SLXHTML: element "address" removed.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="pre"/>
- <xs:element ref="blockquote"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="BlkPres.class">
- <xs:sequence>
- <xs:element ref="hr"/>
- </xs:sequence>
- </xs:group>
-
- <xs:group name="BlkSpecial.class">
- <xs:choice>
- <xs:group ref="Table.class"/>
- <xs:group ref="Form.class"/>
- <xs:group ref="Fieldset.class"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Block.extra">
- <xs:choice/>
- </xs:group>
-
- <xs:group name="Block.class">
- <xs:choice>
- <xs:group ref="BlkStruct.class"/>
- <xs:group ref="BlkPhras.class"/>
- <xs:group ref="BlkPres.class"/>
- <xs:group ref="BlkSpecial.class"/>
- <xs:group ref="Block.extra"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Block.mix">
- <xs:choice>
- <xs:group ref="Heading.class"/>
- <xs:group ref="List.class"/>
- <xs:group ref="Block.class"/>
- <xs:group ref="Misc.class"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="Flow.mix">
- <xs:choice>
- <xs:group ref="Heading.class"/>
- <xs:group ref="List.class"/>
- <xs:group ref="Block.class"/>
- <xs:group ref="Inline.class"/>
- <xs:group ref="Misc.class"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="BlkNoForm.mix">
- <xs:choice>
- <xs:group ref="Heading.class"/>
- <xs:group ref="List.class"/>
- <xs:group ref="BlkStruct.class"/>
- <xs:group ref="BlkPhras.class" />
- <xs:group ref="BlkPres.class"/>
- <xs:group ref="Table.class"/>
- <xs:group ref="Block.extra"/>
- <xs:group ref="Misc.class"/>
- </xs:choice>
- </xs:group>
-
-</xs:schema>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-module-redefines-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-module-redefines-1.xsd deleted file mode 100644 index d58fe93f0..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-module-redefines-1.xsd +++ /dev/null @@ -1,253 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- This XML Schema declares changes to the content models
- of modules included in SLXHTML 1.0
- $Id: slxhtml-module-redefines-1.xsd,v 1.3 2003/12/02 19:34:37 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
- Module Content Model Redefinitions
-
- This schema describes the changes (Redefinitions) to the
- content model of individual modules as they are instantiated as part of
- SLXHTML 1.0 Document
- </xs:documentation>
- </xs:annotation>
-
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- <!-- Changes to Structural Module -->
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
- <xs:redefine schemaLocation="xhtml-struct-1.xsd">
-
- <xs:group name="head.content">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Only a single instance of element "style" is
- allowed apart from the obligatory "title" element.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element ref="title"/>
- <xs:element ref="style" minOccurs="0"/>
- </xs:sequence>
- </xs:group>
-
- <xs:attributeGroup name="version.attrib">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Change value of the version attrib.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="version" type="FPI" fixed="-//www.buergerkarte.at//DOCUMENT SLXHTML 1.0//DE"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="profile.attrib">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Removed profile attrib.
- </xs:documentation>
- </xs:annotation>
- </xs:attributeGroup>
-
- </xs:redefine>
-
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- <!-- Changes to common attributes module (included in framework module) -->
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
- <xs:redefine schemaLocation="xhtml-framework-1.xsd">
-
- <xs:attributeGroup name="I18n.attrib">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Removed xml:lang attrib.
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="I18n.extra.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="title">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Removed title attrib.
- </xs:documentation>
- </xs:annotation>
- </xs:attributeGroup>
-
- </xs:redefine>
-
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- <!-- Changes to block phrasal elements module (included in text module) -->
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
- <xs:redefine schemaLocation="xhtml-text-1.xsd">
-
- <xs:attributeGroup name="blockquote.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Removed cite attrib.
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- </xs:redefine>
-
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- <!-- Changes to images module -->
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
- <xs:redefine schemaLocation="xhtml-image-1.xsd">
-
- <xs:attributeGroup name="img.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML: Removed attributes "longdesc", "height", "width".
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="src" type="URI" use="required"/>
- <xs:attribute name="alt" type="Text" use="required"/>
- </xs:attributeGroup>
-
- </xs:redefine>
-
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- <!-- Changes to style module -->
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
- <xs:redefine schemaLocation="xhtml-style-1.xsd">
-
- <xs:attributeGroup name="style.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute group "title"
- Removed attribute "xml:space"
- Fixed value of attribute "type"
- Fixed value of attribute "media"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="I18n.attrib"/>
- <xs:attribute name="type" type="ContentType" use="required" fixed="text/css"/>
- <xs:attribute name="media" type="MediaDesc" fixed="screen"/>
- </xs:attributeGroup>
-
- </xs:redefine>
-
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- <!-- Changes to table module -->
- <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
- <xs:redefine schemaLocation="xhtml-table-1.xsd">
-
- <xs:attributeGroup name="td.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "scope.attrib", "CellHAlign.attrib", "CellVAlign.attrib"
- Removed attributes "abbr", "axis", "headers"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="rowspan" type="Number" default="1"/>
- <xs:attribute name="colspan" type="Number" default="1"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="th.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "scope.attrib", "CellHAlign.attrib", "CellVAlign.attrib"
- Removed attributes "abbr", "axis", "headers"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="rowspan" type="Number" default="1"/>
- <xs:attribute name="colspan" type="Number" default="1"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="tr.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="col.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib"
- Removed attributes "span", "width"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="colgroup.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib"
- Removed attributes "span", "width"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="tbody.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="tfoot.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="thead.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="table.attlist">
- <xs:annotation>
- <xs:documentation>
- Redefinition by SLXHTML:
- Removed attribute groups "frame.attrib", "rules.attrib"
- Removed attributes "summary", "width", "border", "cellspacing", "cellpadding"
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- </xs:redefine>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml.xsd deleted file mode 100644 index 05087803f..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml.xsd +++ /dev/null @@ -1,173 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" blockDefault="#all">
- <xs:annotation>
- <xs:documentation>
- This is the XML Schema driver for SLXHTML 1.0.
- SLXHTML is a profile of XHTML (see W3C copyright notice below).
-
- @author: Gregor Karlinger gregor.karlinger@cio.gv.at
- $Id: slxhtml.xsd,v 1.2 2003/12/02 19:34:37 karlinger Exp $
- </xs:documentation>
- </xs:annotation>
- <xs:annotation>
- <xs:documentation>
- This is XHTML, a reformulation of HTML as a modular XML application
- The Extensible HyperText Markup Language (XHTML)
- Copyright ©1998-2003 World Wide Web Consortium
- (Massachusetts Institute of Technology, Institut National de
- Recherche en Informatique et en Automatique, Keio University).
- All Rights Reserved.
-
- Permission to use, copy, modify and distribute the XHTML Schema
- modules and their accompanying xs:documentation for any purpose
- and without fee is hereby granted in perpetuity, provided that the above
- copyright notice and this paragraph appear in all copies.
- The copyright holders make no representation about the suitability of
- these XML Schema modules for any purpose.
-
- They are provided "as is" without expressed or implied warranty.
- </xs:documentation>
- </xs:annotation>
- <xs:annotation>
- <xs:documentation>
- This is the Schema Driver file for SLXHTML 1.0
- Document Type
-
- This schema includes
- + modules for SLXHTML 1.0 Document Type.
-
- + schema that defines all the named model for
- the SLXHTML 1.0 Document Type
-
- + schema that redefines the content model of
- individual elements defined in the Module
- implementations.
-
- SLXHTML 1.0 Document Type includes the following Modules
-
- XHTML Core modules
- + text
- + lists
- + structure
-
- Other XHTML modules
- + Style
- + Image
- + Tables
-
- </xs:documentation>
- </xs:annotation>
- <xs:include schemaLocation="slxhtml-module-redefines-1.xsd">
- <xs:annotation>
- <xs:documentation>
- This schema redefines the content model defined by
- the individual modules for SLXHTML 1.0 Document Type
- </xs:documentation>
- </xs:annotation>
- </xs:include>
- <xs:include schemaLocation="slxhtml-model-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Document Model module for the SLXHTML 1.0 Document Type.
- This schema file defines all named models used by XHTML
- Modularization Framework for SLXHTML 1.0 Document Type
- </xs:documentation>
- </xs:annotation>
- </xs:include>
- <!--<xs:include schemaLocation="xhtml-framework-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Schema Framework Component Modules:
- + notations
- + datatypes
- + common attributes
- + character entities
- </xs:documentation>
- <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts"/>
- </xs:annotation>
- </xs:include>-->
- <!--<xs:include schemaLocation="xhtml-text-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Text module
-
- The Text module includes declarations for all core
- text container elements and their attributes.
-
- + block phrasal
- + block structural
- + inline phrasal
- + inline structural
-
- Elements defined here:
- * address, blockquote, pre, h1, h2, h3, h4, h5, h6
- * div, p
- * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
- * br, span
- </xs:documentation>
- <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_textmodule"/>
- </xs:annotation>
- </xs:include>-->
- <xs:include schemaLocation="xhtml-list-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Lists module
-
- Elements defined here:
- * dt, dd, dl, ol, ul, li
- </xs:documentation>
- <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_listmodule"/>
- </xs:annotation>
- </xs:include>
-<!-- <xs:include schemaLocation="xhtml-struct-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Structural module
-
- Elements defined here:
- * title, head, body, html
- </xs:documentation>
- <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_structuremodule"/>
- </xs:annotation>
- </xs:include>-->
- <xs:include schemaLocation="xhtml-blkpres-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Block Presentational module
-
- Elements defined here:
- * hr
- </xs:documentation>
- </xs:annotation>
- </xs:include>
- <!--<xs:include schemaLocation="xhtml-style-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Style module
-
- Elements defined here:
- * style
- </xs:documentation>
- </xs:annotation>
- </xs:include>-->
- <!--<xs:include schemaLocation="xhtml-image-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Image module
-
- Elements defined here:
- * img
- </xs:documentation>
- </xs:annotation>
- </xs:include>-->
- <!--<xs:include schemaLocation="xhtml-table-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Tables module
-
- Elements defined here:
- * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
- </xs:documentation>
- </xs:annotation>
- </xs:include>-->
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-attribs-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-attribs-1.xsd deleted file mode 100644 index d2c693dd9..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-attribs-1.xsd +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- This is the XML Schema common attributes module for XHTML
- $Id: xhtml-attribs-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="xml.xsd"/>
-
- <xs:attributeGroup name="id">
- <xs:attribute name="id" type="xs:ID"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="class">
- <xs:attribute name="class" type="xs:NMTOKENS"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="title">
- <xs:attribute name="title" type="xs:string"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="Core.attrib">
- <xs:attributeGroup ref="id"/>
- <xs:attributeGroup ref="class"/>
- <xs:attributeGroup ref="title"/>
- <xs:attributeGroup ref="Core.extra.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="I18n.attrib">
- <xs:attribute ref="xml:lang"/>
- <xs:attributeGroup ref="I18n.extra.attrib"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="Common.attrib">
- <xs:attributeGroup ref="Core.attrib"/>
- <xs:attributeGroup ref="I18n.attrib"/>
- <xs:attributeGroup ref="Common.extra"/>
- </xs:attributeGroup>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkphras-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkphras-1.xsd deleted file mode 100644 index 464f0d2ca..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkphras-1.xsd +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Block Phrasal elements module
- This is the XML Schema block phrasal element module for XHTML
-
- * address, blockquote, pre, h1, h2, h3, h4, h5, h6
-
- This module declares the elements and their attributes used to
- support block-level phrasal markup.
-
- $Id: xhtml-blkphras-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="xml.xsd"/>
-
- <!-- address -->
- <xs:attributeGroup name="address.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="address.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="address.type" mixed="true">
- <xs:group ref="address.content"/>
- <xs:attributeGroup ref="address.attlist"/>
- </xs:complexType>
- <xs:element name="address" type="address.type"/>
- <!-- blockquote -->
- <xs:attributeGroup name="blockquote.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="cite" type="URI"/>
- </xs:attributeGroup>
- <xs:group name="blockquote.content">
- <xs:sequence>
- <xs:group ref="Block.mix" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="blockquote.type">
- <xs:group ref="blockquote.content"/>
- <xs:attributeGroup ref="blockquote.attlist"/>
- </xs:complexType>
- <xs:element name="blockquote" type="blockquote.type"/>
- <!-- pre -->
- <xs:attributeGroup name="pre.attlist">
- <xs:annotation>
- <xs:documentation>
- Change by SLXHTML: Removed attribute "fixed" form attribute declaration for "xml:space",
- because this is is a buggy declaration in the original XHTML declaration: The attribute
- fixed is not allowed since the original specification of the "xml:space" attribute has
- the default attribute set.
- (Original declaration was: <xs:attribute ref="xml:space" fixed="preserve"/>).
- </xs:documentation>
- </xs:annotation>
- <xs:attribute ref="xml:space"/>
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="pre.content">
- <xs:sequence>
- <xs:group ref="InlinePre.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="pre.type" mixed="true">
- <xs:group ref="pre.content"/>
- <xs:attributeGroup ref="pre.attlist"/>
- </xs:complexType>
- <xs:element name="pre" type="pre.type"/>
- <!-- Heading Elements -->
- <xs:attributeGroup name="heading.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:complexType name="heading.type" mixed="true">
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- <xs:attributeGroup ref="heading.attlist"/>
- </xs:complexType>
- <xs:attributeGroup name="h1.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="h1.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="h1.type" mixed="true">
- <xs:group ref="h1.content"/>
- <xs:attributeGroup ref="h1.attlist"/>
- </xs:complexType>
- <xs:element name="h1" type="h1.type"/>
- <xs:attributeGroup name="h2.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="h2.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="h2.type" mixed="true">
- <xs:group ref="h2.content"/>
- <xs:attributeGroup ref="h2.attlist"/>
- </xs:complexType>
- <xs:element name="h2" type="h2.type"/>
- <xs:attributeGroup name="h3.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="h3.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="h3.type" mixed="true">
- <xs:group ref="h3.content"/>
- <xs:attributeGroup ref="h3.attlist"/>
- </xs:complexType>
- <xs:element name="h3" type="h3.type"/>
- <xs:attributeGroup name="h4.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="h4.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="h4.type" mixed="true">
- <xs:group ref="h4.content"/>
- <xs:attributeGroup ref="h4.attlist"/>
- </xs:complexType>
- <xs:element name="h4" type="h4.type"/>
- <xs:attributeGroup name="h5.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="h5.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="h5.type" mixed="true">
- <xs:group ref="h5.content"/>
- <xs:attributeGroup ref="h5.attlist"/>
- </xs:complexType>
- <xs:element name="h5" type="h5.type"/>
- <xs:attributeGroup name="h6.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
- <xs:group name="h6.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="h6.type" mixed="true">
- <xs:group ref="h6.content"/>
- <xs:attributeGroup ref="h6.attlist"/>
- </xs:complexType>
- <xs:element name="h6" type="h6.type"/>
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkpres-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkpres-1.xsd deleted file mode 100644 index 9c9b45bf0..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkpres-1.xsd +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- This is the XML SchemaBlock presentation element module for XHTML
- $Id: xhtml-blkpres-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
- Block Presentational Elements
-
- * hr
-
- This module declares the elements and their attributes used to
- support block-level presentational markup.
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_presentationmodule"/>
- </xs:annotation>
-
- <xs:attributeGroup name="hr.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="hr.content">
- <xs:sequence/>
- </xs:group>
-
- <xs:complexType name="hr.type">
- <xs:group ref="hr.content"/>
- <xs:attributeGroup ref="hr.attlist"/>
- </xs:complexType>
-
- <xs:element name="hr" type="hr.type"/>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkstruct-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkstruct-1.xsd deleted file mode 100644 index 581ab5b91..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkstruct-1.xsd +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Block Structural
-
- * div, p
-
- This module declares the elements and their attributes used to
- support block-level structural markup.
-
- This is the XML Schema Block Structural module for XHTML
- $Id: xhtml-blkstruct-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <!-- div -->
- <xs:attributeGroup name="div.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="div.content">
- <xs:sequence>
- <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="div.type" mixed="true">
- <xs:group ref="div.content"/>
- <xs:attributeGroup ref="div.attlist"/>
- </xs:complexType>
-
- <xs:element name="div" type="div.type"/>
-
- <!-- p -->
- <xs:attributeGroup name="p.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="p.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="p.type" mixed="true">
- <xs:group ref="p.content"/>
- <xs:attributeGroup ref="p.attlist"/>
- </xs:complexType>
-
- <xs:element name="p" type="p.type"/>
-
-</xs:schema>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-charent-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-charent-1.xsd deleted file mode 100644 index 7ad94214e..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-charent-1.xsd +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- This schema module includes three named character entity files.
--->
-<!DOCTYPE xs:schema [
-<!-- These are the entity sets for ISO Latin 1 characters for the XHTML -->
-<!ENTITY % HTMLlat1 PUBLIC
- "-//W3C//ENTITIES Latin 1 for XHTML//EN"
- "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-lat1.ent">
-%HTMLlat1;
-<!-- These are the entity sets for special characters for the XHTML -->
-<!ENTITY % HTMLsymbol PUBLIC
- "-//W3C//ENTITIES Symbols for XHTML//EN"
- "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-symbol.ent">
-%HTMLsymbol;
-<!-- These are the entity sets for symbol characters for the XHTML -->
-<!ENTITY % HTMLspecial PUBLIC
- "-//W3C//ENTITIES Special for XHTML//EN"
- "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-special.ent">
-%HTMLspecial;
-]>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Character Entities for XHTML
- This is the XML Schema Character Entities module for XHTML
-
- This module declares the set of character entities for XHTML,
- including the Latin 1, Symbol and Special character collections.
- XML Schema does not support Entities, hence Entities are enable
- through an Internal DTD Subset.
-
- $Id: xhtml-charent-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
-</xs:schema>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-copyright-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-copyright-1.xsd deleted file mode 100644 index 110e08843..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-copyright-1.xsd +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xs:schema targetNamespace="http://www.w3.org/1999/xhtml" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:annotation> - <xs:documentation> - This is XHTML, a reformulation of HTML as a modular XML application - The Extensible HyperText Markup Language (XHTML) - Copyright ©1998-2002 World Wide Web Consortium - (Massachusetts Institute of Technology, Institut National de - Recherche en Informatique et en Automatique, Keio University). - All Rights Reserved. - - Permission to use, copy, modify and distribute the XHTML Schema - modules and their accompanying xs:documentation for any purpose - and without fee is hereby granted in perpetuity, provided that the above - copyright notice and this paragraph appear in all copies. - The copyright holders make no representation about the suitability of - these XML Schema modules for any purpose. - - They are provided "as is" without expressed or implied warranty. - </xs:documentation> - </xs:annotation> - -</xs:schema> diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-datatypes-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-datatypes-1.xsd deleted file mode 100644 index 45bcd0528..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-datatypes-1.xsd +++ /dev/null @@ -1,147 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- XHTML Datatypes
- This is the XML Schema datatypes module for XHTML
-
- Defines containers for the XHTML datatypes, many of
- these imported from other specifications and standards.
-
- $Id: xhtml-datatypes-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
- </xs:annotation>
-
- <!-- nn for pixels or nn% for percentage length -->
- <xs:simpleType name="Length">
- <xs:union memberTypes="xs:nonNegativeInteger">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:pattern value="\d+[%]|\d*\.\d+[%]"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <!-- space-separated list of link types -->
- <xs:simpleType name="LinkTypes">
- <xs:list itemType="xs:NMTOKEN"/>
- </xs:simpleType>
-
- <!-- single or comma-separated list of media descriptors -->
- <xs:simpleType name="MediaDesc">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- pixel, percentage, or relative -->
- <xs:simpleType name="MultiLength">
- <xs:union memberTypes="Length">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:pattern value="\d*\*"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <!-- one or more digits (NUMBER) -->
- <xs:simpleType name="Number">
- <xs:restriction base="xs:nonNegativeInteger"/>
- </xs:simpleType>
-
- <!-- integer representing length in pixels -->
- <xs:simpleType name="Pixels">
- <xs:restriction base="xs:nonNegativeInteger"/>
- </xs:simpleType>
-
- <!-- script expression -->
- <xs:simpleType name="Script">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- sixteen color names or RGB color expression-->
- <xs:simpleType name="Color">
- <xs:union memberTypes="xs:NMTOKEN">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:pattern value="#[0-9a-fA-F]{6}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <!-- textual content -->
- <xs:simpleType name="Text">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- Imported Datatypes -->
- <!-- a single character, as per section 2.2 of [XML] -->
- <xs:simpleType name="Character">
- <xs:restriction base="xs:string">
- <xs:length value="1" fixed="true"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- a character encoding, as per [RFC2045] -->
- <xs:simpleType name="Charset">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- a space separated list of character encodings, as per [RFC2045] -->
- <xs:simpleType name="Charsets">
- <xs:list itemType="Charset"/>
- </xs:simpleType>
-
- <!-- media type, as per [RFC2045] -->
- <xs:simpleType name="ContentType">
- <xs:list itemType="xs:string"/>
- </xs:simpleType>
-
- <!-- comma-separated list of media types, as per [RFC2045] -->
- <xs:simpleType name="ContentTypes">
- <xs:list itemType="xs:string"/>
- </xs:simpleType>
-
- <!-- date and time information. ISO date format -->
- <xs:simpleType name="Datetime">
- <xs:restriction base="xs:dateTime"/>
- </xs:simpleType>
-
- <!-- formal public identifier, as per [ISO8879] -->
- <xs:simpleType name="FPI">
- <xs:restriction base="xs:normalizedString"/>
- </xs:simpleType>
-
- <!-- a language code, as per [RFC3066] -->
- <xs:simpleType name="LanguageCode">
- <xs:restriction base="xs:language"/>
- </xs:simpleType>
-
- <!-- a Uniform Resource Identifier, see [URI] -->
- <xs:simpleType name="URI">
- <xs:restriction base="xs:anyURI"/>
- </xs:simpleType>
-
- <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
- <xs:simpleType name="URIs">
- <xs:list itemType="xs:anyURI"/>
- </xs:simpleType>
-
- <!-- comma-separated list of MultiLength -->
- <xs:simpleType name="MultiLengths">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- character Data -->
- <xs:simpleType name="CDATA">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-framework-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-framework-1.xsd deleted file mode 100644 index da380e57a..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-framework-1.xsd +++ /dev/null @@ -1,80 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- XHTML Modular Framework
- This is the XML Schema Modular Framework module for XHTML
-
- This required module instantiates the necessary modules
- needed to support the XHTML modularization framework.
-
- The Schema modules instantiated are:
- + notations
- + datatypes
- + common attributes
- + character entities
-
- $Id: xhtml-framework-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="xml.xsd">
- <xs:annotation>
- <xs:documentation>
- Common Attributes
- This import brings in the attributes
- xml:lang and xml:space in the XML namespace.
- </xs:documentation>
- </xs:annotation>
- </xs:import>
-
- <xs:include schemaLocation="xhtml-notations-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Notations module
- Declares XHTML notations for Attribute data types
- </xs:documentation>
- </xs:annotation>
- </xs:include>
-
- <xs:include schemaLocation="xhtml-datatypes-1.xsd">
- <xs:annotation>
- <xs:documentation>
- This module defines XHTML Attribute DataTypes
- </xs:documentation>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
- </xs:annotation>
- </xs:include>
-
- <xs:include schemaLocation="xhtml-attribs-1.xsd">
- <xs:annotation>
- <xs:documentation>
- This module defines Common attributes for XHTML
- </xs:documentation>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_commonatts"/>
- </xs:annotation>
- </xs:include>
-
- <xs:include schemaLocation="xhtml-charent-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Character entities module
- Note: Entities are not supported in XML Schema
- The Schema Module uses DTDs to define Entities
-
- This module defines
- + XHTML Latin 1 Character Entities
- + XHTML Special Characters
- + XHTML Mathematical, Greek, and Symbolic Characters
- </xs:documentation>
- </xs:annotation>
- </xs:include>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-image-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-image-1.xsd deleted file mode 100644 index 18e60bf74..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-image-1.xsd +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Images
- This is the XML Schema Images module for XHTML
-
- * img
-
- This module provides markup to support basic image embedding.
-
- To avoid problems with text-only UAs as well as to make
- image content understandable and navigable to users of
- non-visual UAs, you need to provide a description with
- the 'alt' attribute, and avoid server-side image maps.
-
-
- $Id: xhtml-image-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_imagemodule"/>
- </xs:annotation>
-
-
- <xs:attributeGroup name="img.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="src" type="URI" use="required"/>
- <xs:attribute name="alt" type="Text" use="required"/>
- <xs:attribute name="longdesc" type="URI"/>
- <xs:attribute name="height" type="Length"/>
- <xs:attribute name="width" type="Length"/>
- </xs:attributeGroup>
-
- <xs:group name="img.content">
- <xs:sequence/>
- </xs:group>
-
- <xs:complexType name="img.type">
- <xs:group ref="img.content"/>
- <xs:attributeGroup ref="img.attlist"/>
- </xs:complexType>
-
- <xs:element name="img" type="img.type"/>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlphras-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlphras-1.xsd deleted file mode 100644 index 439291eba..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlphras-1.xsd +++ /dev/null @@ -1,226 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Inline Phrasal
- This is the XML Schema Inline Phrasal module for XHTML
-
- * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
-
- This module declares the elements and their attributes used to
- support inline-level phrasal markup.
- $Id: xhtml-inlphras-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
-
- <xs:attributeGroup name="abbr.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="abbr.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="abbr.type" mixed="true">
- <xs:group ref="abbr.content"/>
- <xs:attributeGroup ref="abbr.attlist"/>
- </xs:complexType>
-
- <xs:element name="abbr" type="abbr.type"/>
-
- <xs:attributeGroup name="acronym.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="acronym.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="acronym.type" mixed="true">
- <xs:group ref="acronym.content"/>
- <xs:attributeGroup ref="acronym.attlist"/>
- </xs:complexType>
-
- <xs:element name="acronym" type="acronym.type"/>
-
- <xs:attributeGroup name="cite.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="cite.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="cite.type" mixed="true">
- <xs:group ref="cite.content"/>
- <xs:attributeGroup ref="cite.attlist"/>
- </xs:complexType>
-
- <xs:element name="cite" type="cite.type">
- <xs:annotation>
- <xs:documentation>
- Change by SLXHTML: Changed type to "cite.type".
- (Original declaration was: <xs:element name="cite" type="dfn.type"/>).
- </xs:documentation>
- </xs:annotation>
- </xs:element>
-
- <xs:attributeGroup name="code.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="code.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="code.type" mixed="true">
- <xs:group ref="code.content"/>
- <xs:attributeGroup ref="code.attlist"/>
- </xs:complexType>
-
- <xs:element name="code" type="code.type">
- <xs:annotation>
- <xs:documentation>
- Change by SLXHTML: Changed type to "code.type".
- (Original declaration was: <xs:element name="code" type="dfn.type"/>).
- </xs:documentation>
- </xs:annotation>
- </xs:element>
-
- <xs:attributeGroup name="dfn.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="dfn.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="dfn.type" mixed="true">
- <xs:group ref="dfn.content"/>
- <xs:attributeGroup ref="dfn.attlist"/>
- </xs:complexType>
-
- <xs:element name="dfn" type="dfn.type"/>
-
- <xs:attributeGroup name="em.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="em.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="em.type" mixed="true">
- <xs:group ref="em.content"/>
- <xs:attributeGroup ref="em.attlist"/>
- </xs:complexType>
-
- <xs:element name="em" type="em.type"/>
-
-
- <xs:attributeGroup name="kbd.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="kbd.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="kbd.type" mixed="true">
- <xs:group ref="kbd.content"/>
- <xs:attributeGroup ref="kbd.attlist"/>
- </xs:complexType>
-
- <xs:element name="kbd" type="kbd.type"/>
-
-
- <xs:attributeGroup name="samp.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="samp.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="samp.type" mixed="true">
- <xs:group ref="samp.content"/>
- <xs:attributeGroup ref="samp.attlist"/>
- </xs:complexType>
-
- <xs:element name="samp" type="samp.type"/>
-
-
- <xs:attributeGroup name="strong.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="strong.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="strong.type" mixed="true">
- <xs:group ref="strong.content"/>
- <xs:attributeGroup ref="strong.attlist"/>
- </xs:complexType>
-
- <xs:element name="strong" type="strong.type"/>
-
- <xs:attributeGroup name="var.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="var.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="var.type" mixed="true">
- <xs:group ref="var.content"/>
- <xs:attributeGroup ref="var.attlist"/>
- </xs:complexType>
-
- <xs:element name="var" type="var.type"/>
-
- <xs:attributeGroup name="q.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="cite" type="URI"/>
- </xs:attributeGroup>
-
- <xs:group name="q.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="q.type" mixed="true">
- <xs:group ref="q.content"/>
- <xs:attributeGroup ref="q.attlist"/>
- </xs:complexType>
-
- <xs:element name="q" type="q.type"/>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstruct-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstruct-1.xsd deleted file mode 100644 index 07aad4819..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstruct-1.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Inline Structural
- This is the XML Schema Inline Structural element module for XHTML
-
- * br, span
-
- This module declares the elements and their attributes
- used to support inline-level structural markup.
-
- $Id: xhtml-inlstruct-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:attributeGroup name="br.attlist">
- <xs:attributeGroup ref="Core.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="br.content">
- <xs:sequence/>
- </xs:group>
-
- <xs:complexType name="br.type">
- <xs:group ref="br.content"/>
- <xs:attributeGroup ref="br.attlist"/>
- </xs:complexType>
-
- <xs:element name="br" type="br.type"/>
-
- <xs:attributeGroup name="span.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="span.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="span.type" mixed="true">
- <xs:group ref="span.content"/>
- <xs:attributeGroup ref="span.attlist"/>
- </xs:complexType>
-
- <xs:element name="span" type="span.type"/>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstyle-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstyle-1.xsd deleted file mode 100644 index d9f60ad12..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstyle-1.xsd +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xs:schema targetNamespace="http://www.w3.org/1999/xhtml" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - xmlns="http://www.w3.org/1999/xhtml"> - - <xs:annotation> - <xs:documentation> - Inline Style module - This is the XML Schema Inline Style module for XHTML - - * styloe attribute - - This module declares the 'style' attribute, used to support inline - style markup. - - $Id: xhtml-inlstyle-1.xsd,v 1.2 2003/09/20 01:41:37 speruvem Exp $ - </xs:documentation> - <xs:documentation source="xhtml-copyright-1.xsd"/> - <xs:documentation - source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_styleattributemodule"/> - </xs:annotation> - - <xs:attributeGroup name="style.attrib"> - <xs:attribute name="style" type="CDATA"/> - </xs:attributeGroup> - -</xs:schema> diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-list-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-list-1.xsd deleted file mode 100644 index 80b755f3d..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-list-1.xsd +++ /dev/null @@ -1,128 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- List Module
- This is the XML Schema Lists module for XHTML
- List Module Elements
-
- * dl, dt, dd, ol, ul, li
-
- This module declares the list-oriented element types
- and their attributes.
- $Id: xhtml-list-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_listmodule"/>
- </xs:annotation>
-
- <xs:attributeGroup name="dt.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="dt.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="dt.type" mixed="true">
- <xs:group ref="dt.content"/>
- <xs:attributeGroup ref="dt.attlist"/>
- </xs:complexType>
-
- <xs:element name="dt" type="dt.type"/>
-
- <xs:attributeGroup name="dd.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="dd.content">
- <xs:sequence>
- <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="dd.type" mixed="true">
- <xs:group ref="dd.content"/>
- <xs:attributeGroup ref="dd.attlist"/>
- </xs:complexType>
-
- <xs:element name="dd" type="dd.type"/>
-
- <xs:attributeGroup name="dl.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="dl.content">
- <xs:sequence>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="dt"/>
- <xs:element ref="dd"/>
- </xs:choice>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="dl.type">
- <xs:group ref="dl.content"/>
- <xs:attributeGroup ref="dl.attlist"/>
- </xs:complexType>
-
- <xs:element name="dl" type="dl.type"/>
-
- <xs:attributeGroup name="li.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="li.content">
- <xs:sequence>
- <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="li.type" mixed="true">
- <xs:group ref="li.content"/>
- <xs:attributeGroup ref="li.attlist"/>
- </xs:complexType>
-
- <xs:element name="li" type="li.type"/>
-
- <xs:attributeGroup name="ol.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="ol.content">
- <xs:sequence>
- <xs:element ref="li" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="ol.type">
- <xs:group ref="ol.content"/>
- <xs:attributeGroup ref="ol.attlist"/>
- </xs:complexType>
-
- <xs:element name="ol" type="ol.type"/>
-
- <xs:attributeGroup name="ul.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="ul.content">
- <xs:sequence>
- <xs:element ref="li" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="ul.type">
- <xs:group ref="ul.content"/>
- <xs:attributeGroup ref="ul.attlist"/>
- </xs:complexType>
-
- <xs:element name="ul" type="ul.type"/>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-notations-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-notations-1.xsd deleted file mode 100644 index 246be792b..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-notations-1.xsd +++ /dev/null @@ -1,99 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Notations module
- This is the XML Schema module for data type notations for XHTML
-
- Defines the following notations, many of these imported from
- other specifications and standards. When an existing FPI is
- known, it is incorporated here.
-
- $Id: xhtml-notations-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <!-- W3C XML 1.0 Recommendation -->
- <xs:notation name="w3c-xml"
- public="ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN"/>
-
- <!-- XML 1.0 CDATA -->
- <xs:notation name="cdata" public="-//W3C//NOTATION XML 1.0: CDATA//EN"/>
-
- <!-- SGML Formal Public Identifiers -->
- <xs:notation name="fpi"
- public="ISO 8879:1986//NOTATION Formal Public Identifier//EN"/>
-
- <!-- XHTML Notations ... -->
- <!-- Length defined for cellpadding/cellspacing -->
- <!-- nn for pixels or nn% for percentage length -->
- <!-- a single character, as per section 2.2 of [XML] -->
- <xs:notation name="character"
- public="-//W3C//NOTATION XHTML Datatype: Character//EN"/>
-
- <!-- a character encoding, as per [RFC2045] -->
- <xs:notation name="charset"
- public="-//W3C//NOTATION XHTML Datatype: Charset//EN"/>
-
- <!-- a space separated list of character encodings, as per [RFC2045] -->
- <xs:notation name="charsets"
- public="-//W3C//NOTATION XHTML Datatype: Charsets//EN"/>
-
- <!-- media type, as per [RFC2045] -->
- <xs:notation name="contentType"
- public="-//W3C//NOTATION XHTML Datatype: ContentType//EN"/>
-
- <!-- comma-separated list of media types, as per [RFC2045] -->
- <xs:notation name="contentTypes"
- public="-//W3C//NOTATION XHTML Datatype: ContentTypes//EN"/>
-
- <!-- date and time information. ISO date format -->
- <xs:notation name="datetime"
- public="-//W3C//NOTATION XHTML Datatype: Datetime//EN"/>
-
- <!-- a language code, as per [RFC3066] -->
- <xs:notation name="languageCode"
- public="-//W3C//NOTATION XHTML Datatype: LanguageCode//EN"/>
-
- <!-- nn for pixels or nn% for percentage length -->
- <xs:notation name="length"
- public="-//W3C//NOTATION XHTML Datatype: Length//EN"/>
-
- <!-- space-separated list of link types -->
- <xs:notation name="linkTypes"
- public="-//W3C//NOTATION XHTML Datatype: LinkTypes//EN"/>
-
- <!-- single or comma-separated list of media descriptors -->
- <xs:notation name="mediaDesc"
- public="-//W3C//NOTATION XHTML Datatype: MediaDesc//EN"/>
-
- <!-- pixel, percentage, or relative -->
- <xs:notation name="multiLength"
- public="-//W3C//NOTATION XHTML Datatype: MultiLength//EN"/>
-
- <!-- one or more digits (NUMBER) -->
- <xs:notation name="number"
- public="-//W3C//NOTATION XHTML Datatype: Number//EN"/>
-
- <!-- one or more digits (NUMBER) -->
- <xs:notation name="pixels"
- public="-//W3C//NOTATION XHTML Datatype: Pixels//EN"/>
-
- <!-- script expression -->
- <xs:notation name="script"
- public="-//W3C//NOTATION XHTML Datatype: Script//EN"/>
-
- <!-- textual content -->
- <xs:notation name="text" public="-//W3C//NOTATION XHTML Datatype: Text//EN"/>
-
- <!-- a Uniform Resource Identifier, see [URI] -->
- <xs:notation name="uri" public="-//W3C//NOTATION XHTML Datatype: URI//EN"/>
-
- <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
- <xs:notation name="uris" public="-//W3C//NOTATION XHTML Datatype: URIs//EN"/>
-
-</xs:schema>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-struct-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-struct-1.xsd deleted file mode 100644 index 3a4bf3473..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-struct-1.xsd +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" >
-
- <xs:annotation>
- <xs:documentation>
- This is the XML Schema Document Structure module for XHTML
- Document Structure
-
- * title, head, body, html
-
- The Structure Module defines the major structural elements and
- their attributes.
-
- $Id: xhtml-struct-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_structuremodule"/>
- </xs:annotation>
-
- <xs:attributeGroup name="title.attlist">
- <xs:attributeGroup ref="I18n.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="title.content">
- <xs:sequence/>
- </xs:group>
-
- <xs:complexType name="title.type" mixed="true">
- <xs:group ref="title.content"/>
- <xs:attributeGroup ref="title.attlist"/>
- </xs:complexType>
-
-
- <xs:element name="title" type="title.type"/>
-
- <xs:group name="head.content">
- <xs:sequence>
- <xs:group ref="HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="title"/>
- <xs:group ref="HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:attributeGroup name="profile.attrib">
- <xs:attribute name="profile" type="URI"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="head.attlist">
- <xs:attributeGroup ref="profile.attrib"/>
- <xs:attributeGroup ref="I18n.attrib"/>
- </xs:attributeGroup>
-
- <xs:complexType name="head.type">
- <xs:group ref="head.content"/>
- <xs:attributeGroup ref="head.attlist"/>
- </xs:complexType>
-
- <xs:element name="head" type="head.type"/>
-
- <xs:attributeGroup name="body.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="body.content">
- <xs:sequence>
- <xs:group ref="Block.mix" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="body.type">
- <xs:group ref="body.content"/>
- <xs:attributeGroup ref="body.attlist"/>
- </xs:complexType>
-
- <xs:element name="body" type="body.type"/>
-
- <xs:attributeGroup name="version.attrib">
- <xs:attribute name="version" type="FPI"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="html.attlist">
- <xs:attributeGroup ref="version.attrib"/>
- <xs:attributeGroup ref="I18n.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="html.content">
- <xs:sequence>
- <xs:element ref="head"/>
- <xs:element ref="body"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="html.type">
- <xs:group ref="html.content"/>
- <xs:attributeGroup ref="html.attlist"/>
- </xs:complexType>
-
- <xs:element name="html" type="html.type"/>
-
-</xs:schema>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-style-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-style-1.xsd deleted file mode 100644 index 6feb7c48d..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-style-1.xsd +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- This is the XML Schema Stylesheets module for XHTML
- $Id: xhtml-style-1.xsd,v 1.1 2003/10/17 14:11:19 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
- Stylesheets
-
- * style
-
- This module declares the style element type and its attributes,
- used to embed stylesheet information in the document head element.
- </xs:documentation>
- <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_stylemodule"/>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="xml.xsd"/>
-
- <xs:attributeGroup name="style.attlist">
- <xs:annotation>
- <xs:documentation>
- Change by SLXHTML: Removed attribute "fixed" form attribute declaration for "xml:space",
- because this is is a buggy declaration in the original XHTML declaration: The attribute
- fixed is not allowed since the original specification of the "xml:space" attribute has
- the default attribute set.
- (Original declaration was: <xs:attribute ref="xml:space" fixed="preserve"/>).
- </xs:documentation>
- </xs:annotation>
- <xs:attributeGroup ref="title"/>
- <xs:attributeGroup ref="I18n.attrib"/>
- <xs:attribute name="type" type="ContentType" use="required"/>
- <xs:attribute name="media" type="MediaDesc"/>
- <xs:attribute ref="xml:space"/>
- </xs:attributeGroup>
- <xs:group name="style.content">
- <xs:sequence/>
- </xs:group>
- <xs:complexType name="style.type" mixed="true">
- <xs:group ref="style.content"/>
- <xs:attributeGroup ref="style.attlist"/>
- </xs:complexType>
- <xs:element name="style" type="style.type"/>
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-table-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-table-1.xsd deleted file mode 100644 index 35e0e2403..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-table-1.xsd +++ /dev/null @@ -1,323 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:annotation>
- <xs:documentation>
- This is the XML Schema Tables module for XHTML
- $Id: xhtml-table-1.xsd,v 1.1 2003/10/17 14:11:20 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- </xs:annotation>
- <xs:annotation>
- <xs:documentation>
- Tables
-
- * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
-
- This module declares element types and attributes used to provide
- table markup similar to HTML 4.0, including features that enable
- better accessibility for non-visual user agents.
- </xs:documentation>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_tablemodule"/>
- </xs:annotation>
-
- <xs:attributeGroup name="frame.attrib">
- <xs:attribute name="frame">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="void"/>
- <xs:enumeration value="above"/>
- <xs:enumeration value="below"/>
- <xs:enumeration value="hsides"/>
- <xs:enumeration value="lhs"/>
- <xs:enumeration value="rhs"/>
- <xs:enumeration value="vsides"/>
- <xs:enumeration value="box"/>
- <xs:enumeration value="border"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="rules.attrib">
- <xs:attribute name="rules">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="none"/>
- <xs:enumeration value="groups"/>
- <xs:enumeration value="rows"/>
- <xs:enumeration value="cols"/>
- <xs:enumeration value="all"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="CellVAlign.attrib">
- <xs:attribute name="valign">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="top"/>
- <xs:enumeration value="middle"/>
- <xs:enumeration value="bottom"/>
- <xs:enumeration value="baseline"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="CellHAlign.attrib">
- <xs:attribute name="align">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="left"/>
- <xs:enumeration value="center"/>
- <xs:enumeration value="right"/>
- <xs:enumeration value="justify"/>
- <xs:enumeration value="char"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="char" type="Character"/>
- <xs:attribute name="charoff" type="Length"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="scope.attrib">
- <xs:attribute name="scope">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="row"/>
- <xs:enumeration value="col"/>
- <xs:enumeration value="rowgroup"/>
- <xs:enumeration value="colgroup"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="td.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="abbr" type="Text"/>
- <xs:attribute name="axis" type="CDATA"/>
- <xs:attribute name="headers" type="xs:IDREFS"/>
- <xs:attributeGroup ref="scope.attrib"/>
- <xs:attribute name="rowspan" type="Number" default="1"/>
- <xs:attribute name="colspan" type="Number" default="1"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="td.content">
- <xs:sequence>
- <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="td.type" mixed="true">
- <xs:group ref="td.content"/>
- <xs:attributeGroup ref="td.attlist"/>
- </xs:complexType>
-
- <xs:element name="td" type="td.type"/>
-
- <xs:attributeGroup name="th.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="abbr" type="Text"/>
- <xs:attribute name="axis" type="CDATA"/>
- <xs:attribute name="headers" type="xs:IDREFS"/>
- <xs:attributeGroup ref="scope.attrib"/>
- <xs:attribute name="rowspan" type="Number" default="1"/>
- <xs:attribute name="colspan" type="Number" default="1"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="th.content">
- <xs:sequence>
- <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="th.type" mixed="true">
- <xs:group ref="th.content"/>
- <xs:attributeGroup ref="th.attlist"/>
- </xs:complexType>
-
- <xs:element name="th" type="th.type"/>
-
- <xs:attributeGroup name="tr.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="tr.content">
- <xs:sequence>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="th"/>
- <xs:element ref="td"/>
- </xs:choice>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="tr.type">
- <xs:group ref="tr.content"/>
- <xs:attributeGroup ref="tr.attlist"/>
- </xs:complexType>
-
- <xs:element name="tr" type="tr.type"/>
-
- <xs:attributeGroup name="col.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="span" type="Number" default="1"/>
- <xs:attribute name="width" type="MultiLength"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="col.content">
- <xs:sequence/>
- </xs:group>
-
- <xs:complexType name="col.type">
- <xs:group ref="col.content"/>
- <xs:attributeGroup ref="col.attlist"/>
- </xs:complexType>
-
- <xs:element name="col" type="col.type"/>
-
- <xs:attributeGroup name="colgroup.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="span" type="Number" default="1"/>
- <xs:attribute name="width" type="MultiLength"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="colgroup.content">
- <xs:sequence>
- <xs:element ref="col" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
- <xs:complexType name="colgroup.type">
- <xs:group ref="colgroup.content"/>
- <xs:attributeGroup ref="colgroup.attlist"/>
- </xs:complexType>
-
- <xs:element name="colgroup" type="colgroup.type"/>
-
- <xs:attributeGroup name="tbody.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="tbody.content">
- <xs:sequence>
- <xs:element ref="tr" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="tbody.type">
- <xs:group ref="tbody.content"/>
- <xs:attributeGroup ref="tbody.attlist"/>
- </xs:complexType>
-
- <xs:element name="tbody" type="tbody.type"/>
-
- <xs:attributeGroup name="tfoot.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="tfoot.content">
- <xs:sequence>
- <xs:element ref="tr" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="tfoot.type">
- <xs:group ref="tfoot.content"/>
- <xs:attributeGroup ref="tfoot.attlist"/>
- </xs:complexType>
-
- <xs:element name="tfoot" type="tfoot.type"/>
-
- <xs:attributeGroup name="thead.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attributeGroup ref="CellHAlign.attrib"/>
- <xs:attributeGroup ref="CellVAlign.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="thead.content">
- <xs:sequence>
- <xs:element ref="tr" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="thead.type">
- <xs:group ref="thead.content"/>
- <xs:attributeGroup ref="thead.attlist"/>
- </xs:complexType>
-
- <xs:element name="thead" type="thead.type"/>
-
- <xs:attributeGroup name="caption.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- </xs:attributeGroup>
-
- <xs:group name="caption.content">
- <xs:sequence>
- <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="caption.type" mixed="true">
- <xs:group ref="caption.content"/>
- <xs:attributeGroup ref="caption.attlist"/>
- </xs:complexType>
-
- <xs:element name="caption" type="caption.type"/>
-
- <xs:attributeGroup name="table.attlist">
- <xs:attributeGroup ref="Common.attrib"/>
- <xs:attribute name="summary" type="Text"/>
- <xs:attribute name="width" type="Length"/>
- <xs:attribute name="border" type="Pixels"/>
- <xs:attributeGroup ref="frame.attrib"/>
- <xs:attributeGroup ref="rules.attrib"/>
- <xs:attribute name="cellspacing" type="Length"/>
- <xs:attribute name="cellpadding" type="Length"/>
- </xs:attributeGroup>
-
- <xs:group name="table.content">
- <xs:sequence>
- <xs:element ref="caption" minOccurs="0"/>
- <xs:choice>
- <xs:element ref="col" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="colgroup" minOccurs="0" maxOccurs="unbounded"/>
- </xs:choice>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="thead" minOccurs="0"/>
- <xs:element ref="tfoot" minOccurs="0"/>
- <xs:element ref="tbody" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:choice>
- <xs:element ref="tr" maxOccurs="unbounded"/>
- </xs:choice>
- </xs:choice>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="table.type">
- <xs:group ref="table.content"/>
- <xs:attributeGroup ref="table.attlist"/>
- </xs:complexType>
-
- <xs:element name="table" type="table.type"/>
-
-</xs:schema>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-text-1.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-text-1.xsd deleted file mode 100644 index 71a08e772..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-text-1.xsd +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.w3.org/1999/xhtml"
- xmlns="http://www.w3.org/1999/xhtml">
-
- <xs:annotation>
- <xs:documentation>
- Textual Content
- This is the XML Schema Text module for XHTML
-
- The Text module includes declarations for all core
- text container elements and their attributes.
-
- + block phrasal
- + block structural
- + inline phrasal
- + inline structural
-
- $Id: xhtml-text-1.xsd,v 1.1 2003/10/17 14:11:20 karlinger Exp $
- </xs:documentation>
- <xs:documentation source="xhtml-copyright-1.xsd"/>
- <xs:documentation
- source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_textmodule"/>
- </xs:annotation>
-
- <xs:include schemaLocation="xhtml-blkphras-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Block Phrasal module
- Elements defined here:
-
- * address, blockquote, pre, h1, h2, h3, h4, h5, h6
- </xs:documentation>
- </xs:annotation>
- </xs:include>
-
- <xs:include schemaLocation="xhtml-blkstruct-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Block Structural module
- Elements defined here:
-
- * div, p
- </xs:documentation>
- </xs:annotation>
- </xs:include>
-
- <xs:include schemaLocation="xhtml-inlphras-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Inline Phrasal module
- Elements defined here:
-
- * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
- </xs:documentation>
- </xs:annotation>
- </xs:include>
-
- <xs:include schemaLocation="xhtml-inlstruct-1.xsd">
- <xs:annotation>
- <xs:documentation>
- Inline Structural module
- Elements defined here:
-
- * br,span
- </xs:documentation>
- </xs:annotation>
- </xs:include>
-
-</xs:schema>
diff --git a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xml.xsd b/spss.slinterface/res/resources/schemas/slxhtml-1.0/xml.xsd deleted file mode 100644 index abe08ec25..000000000 --- a/spss.slinterface/res/resources/schemas/slxhtml-1.0/xml.xsd +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version='1.0'?> -<!--<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >--> -<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"> - - <xs:annotation> - <xs:documentation> - See http://www.w3.org/XML/1998/namespace.html and - http://www.w3.org/TR/REC-xml for information about this namespace. - </xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation>This schema defines attributes and an attribute group - suitable for use by - schemas wishing to allow xml:base, xml:lang or xml:space attributes - on elements they define. - - To enable this, such a schema must import this schema - for the XML namespace, e.g. as follows: - <schema . . .> - . . . - <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> - - Subsequently, qualified reference to any of the attributes - or the group defined below will have the desired effect, e.g. - - <type . . .> - . . . - <attributeGroup ref="xml:specialAttrs"/> - - will define a type which will schema-validate an instance - element with any of those attributes</xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation>In keeping with the XML Schema WG's standard versioning - policy, this schema document will persist at - http://www.w3.org/2001/03/xml.xsd. - At the date of issue it can also be found at - http://www.w3.org/2001/xml.xsd. - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XML Schema - itself. In other words, if the XML Schema namespace changes, the version - of this document at - http://www.w3.org/2001/xml.xsd will change - accordingly; the version at - http://www.w3.org/2001/03/xml.xsd will not change. - </xs:documentation> - </xs:annotation> - - <xs:attribute name="lang" type="xs:language"> - <xs:annotation> - <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter - codes as the enumerated possible values . . .</xs:documentation> - </xs:annotation> - </xs:attribute> - - <xs:attribute name="space" default="preserve"> - <xs:simpleType> - <xs:restriction base="xs:NCName"> - <xs:enumeration value="default"/> - <xs:enumeration value="preserve"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - - <xs:attribute name="base" type="xs:anyURI"> - <xs:annotation> - <xs:documentation>See http://www.w3.org/TR/xmlbase/ for - information about this attribute.</xs:documentation> - </xs:annotation> - </xs:attribute> - - <xs:attributeGroup name="specialAttrs"> - <xs:attribute ref="xml:base"/> - <xs:attribute ref="xml:lang"/> - <xs:attribute ref="xml:space"/> - </xs:attributeGroup> - -</xs:schema> diff --git a/spss.slinterface/res/resources/schemas/xml.xsd b/spss.slinterface/res/resources/schemas/xml.xsd deleted file mode 100644 index ff784eb98..000000000 --- a/spss.slinterface/res/resources/schemas/xml.xsd +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version='1.0'?> -<!--<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" >--> -<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"> - - <xs:annotation> - <xs:documentation> - See http://www.w3.org/XML/1998/namespace.html and - http://www.w3.org/TR/REC-xml for information about this namespace. - </xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation>This schema defines attributes and an attribute group - suitable for use by - schemas wishing to allow xml:base, xml:lang or xml:space attributes - on elements they define. - - To enable this, such a schema must import this schema - for the XML namespace, e.g. as follows: - <schema . . .> - . . . - <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> - - Subsequently, qualified reference to any of the attributes - or the group defined below will have the desired effect, e.g. - - <type . . .> - . . . - <attributeGroup ref="xml:specialAttrs"/> - - will define a type which will schema-validate an instance - element with any of those attributes</xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation>In keeping with the XML Schema WG's standard versioning - policy, this schema document will persist at - http://www.w3.org/2001/03/xml.xsd. - At the date of issue it can also be found at - http://www.w3.org/2001/xml.xsd. - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XML Schema - itself. In other words, if the XML Schema namespace changes, the version - of this document at - http://www.w3.org/2001/xml.xsd will change - accordingly; the version at - http://www.w3.org/2001/03/xml.xsd will not change. - </xs:documentation> - </xs:annotation> - - <xs:attribute name="lang" type="xs:language"> - <xs:annotation> - <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter - codes as the enumerated possible values . . .</xs:documentation> - </xs:annotation> - </xs:attribute> - - <xs:attribute name="space" default="preserve"> - <xs:simpleType> - <xs:restriction base="xs:NCName"> - <xs:enumeration value="default"/> - <xs:enumeration value="preserve"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - - <xs:attribute name="base" type="xs:anyURI"> - <xs:annotation> - <xs:documentation>See http://www.w3.org/TR/xmlbase/ for - information about this attribute.</xs:documentation> - </xs:annotation> - </xs:attribute> - - <xs:attributeGroup name="specialAttrs"> - <xs:attribute ref="xml:base"/> - <xs:attribute ref="xml:lang"/> - <xs:attribute ref="xml:space"/> - </xs:attributeGroup> - -</xs:schema> diff --git a/spss.slinterface/res/resources/schemas/xmldsig-core-schema.xsd b/spss.slinterface/res/resources/schemas/xmldsig-core-schema.xsd deleted file mode 100644 index 801b01416..000000000 --- a/spss.slinterface/res/resources/schemas/xmldsig-core-schema.xsd +++ /dev/null @@ -1,322 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE schema - PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" - [ - <!ATTLIST schema - xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"> - <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'> - <!ENTITY % p ''> - <!ENTITY % s ''> - ]> - -<!-- Schema for XML Signatures - http://www.w3.org/2000/09/xmldsig# - $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $ - - Copyright 2001 The Internet Society and W3C (Massachusetts Institute - of Technology, Institut National de Recherche en Informatique et en - Automatique, Keio University). All Rights Reserved. - http://www.w3.org/Consortium/Legal/ - - This document is governed by the W3C Software License [1] as described - in the FAQ [2]. - - [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720 - [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD ---> - - -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:ds="http://www.w3.org/2000/09/xmldsig#" - targetNamespace="http://www.w3.org/2000/09/xmldsig#" - version="0.1" elementFormDefault="qualified"> - -<!-- Basic Types Defined for Signatures --> - -<simpleType name="CryptoBinary"> - <restriction base="base64Binary"> - </restriction> -</simpleType> - -<!-- Start Signature --> - -<element name="Signature" type="ds:SignatureType"/> -<complexType name="SignatureType"> - <sequence> - <element ref="ds:SignedInfo"/> - <element ref="ds:SignatureValue"/> - <element ref="ds:KeyInfo" minOccurs="0"/> - <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="Id" type="ID" use="optional"/> -</complexType> - - <element name="SignatureValue" type="ds:SignatureValueType"/> - <complexType name="SignatureValueType"> - <simpleContent> - <extension base="base64Binary"> - <attribute name="Id" type="ID" use="optional"/> - </extension> - </simpleContent> - </complexType> - -<!-- Start SignedInfo --> - -<element name="SignedInfo" type="ds:SignedInfoType"/> -<complexType name="SignedInfoType"> - <sequence> - <element ref="ds:CanonicalizationMethod"/> - <element ref="ds:SignatureMethod"/> - <element ref="ds:Reference" maxOccurs="unbounded"/> - </sequence> - <attribute name="Id" type="ID" use="optional"/> -</complexType> - - <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> - <complexType name="CanonicalizationMethodType" mixed="true"> - <sequence> - <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> - <!-- (0,unbounded) elements from (1,1) namespace --> - </sequence> - <attribute name="Algorithm" type="anyURI" use="required"/> - </complexType> - - <element name="SignatureMethod" type="ds:SignatureMethodType"/> - <complexType name="SignatureMethodType" mixed="true"> - <sequence> - <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/> - <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> - <!-- (0,unbounded) elements from (1,1) external namespace --> - </sequence> - <attribute name="Algorithm" type="anyURI" use="required"/> - </complexType> - -<!-- Start Reference --> - -<element name="Reference" type="ds:ReferenceType"/> -<complexType name="ReferenceType"> - <sequence> - <element ref="ds:Transforms" minOccurs="0"/> - <element ref="ds:DigestMethod"/> - <element ref="ds:DigestValue"/> - </sequence> - <attribute name="Id" type="ID" use="optional"/> - <attribute name="URI" type="anyURI" use="optional"/> - <attribute name="Type" type="anyURI" use="optional"/> -</complexType> - - <element name="Transforms" type="ds:TransformsType"/> - <complexType name="TransformsType"> - <sequence> - <element ref="ds:Transform" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="Transform" type="ds:TransformType"/> - <complexType name="TransformType" mixed="true"> - <choice minOccurs="0" maxOccurs="unbounded"> - - <!--<any namespace="##other" processContents="lax"/> - Changed GK 20040621: Avoid parsing errors when parsing html/stylesheet markup --> - <any namespace="##other" processContents="skip"/> - - <!-- (1,1) elements from (0,unbounded) namespaces --> - <element name="XPath" type="string"/> - </choice> - <attribute name="Algorithm" type="anyURI" use="required"/> - </complexType> - -<!-- End Reference --> - -<element name="DigestMethod" type="ds:DigestMethodType"/> -<complexType name="DigestMethodType" mixed="true"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="Algorithm" type="anyURI" use="required"/> -</complexType> - -<element name="DigestValue" type="ds:DigestValueType"/> -<simpleType name="DigestValueType"> - <restriction base="base64Binary"/> -</simpleType> - -<!-- End SignedInfo --> - -<!-- Start KeyInfo --> - -<element name="KeyInfo" type="ds:KeyInfoType"/> -<complexType name="KeyInfoType" mixed="true"> - <choice maxOccurs="unbounded"> - <element ref="ds:KeyName"/> - <element ref="ds:KeyValue"/> - <element ref="ds:RetrievalMethod"/> - <element ref="ds:X509Data"/> - <element ref="ds:PGPData"/> - <element ref="ds:SPKIData"/> - <element ref="ds:MgmtData"/> - <any processContents="lax" namespace="##other"/> - <!-- (1,1) elements from (0,unbounded) namespaces --> - </choice> - <attribute name="Id" type="ID" use="optional"/> -</complexType> - - <element name="KeyName" type="string"/> - <element name="MgmtData" type="string"/> - - <element name="KeyValue" type="ds:KeyValueType"/> - <complexType name="KeyValueType" mixed="true"> - <choice> - <element ref="ds:DSAKeyValue"/> - <element ref="ds:RSAKeyValue"/> - <any namespace="##other" processContents="lax"/> - </choice> - </complexType> - - <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> - <complexType name="RetrievalMethodType"> - <sequence> - <element ref="ds:Transforms" minOccurs="0"/> - </sequence> - <attribute name="URI" type="anyURI"/> - <attribute name="Type" type="anyURI" use="optional"/> - </complexType> - -<!-- Start X509Data --> - -<element name="X509Data" type="ds:X509DataType"/> -<complexType name="X509DataType"> - <sequence maxOccurs="unbounded"> - <choice> - <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/> - <element name="X509SKI" type="base64Binary"/> - <element name="X509SubjectName" type="string"/> - <element name="X509Certificate" type="base64Binary"/> - <element name="X509CRL" type="base64Binary"/> - <any namespace="##other" processContents="lax"/> - </choice> - </sequence> -</complexType> - -<complexType name="X509IssuerSerialType"> - <sequence> - <element name="X509IssuerName" type="string"/> - <element name="X509SerialNumber" type="integer"/> - </sequence> -</complexType> - -<!-- End X509Data --> - -<!-- Begin PGPData --> - -<element name="PGPData" type="ds:PGPDataType"/> -<complexType name="PGPDataType"> - <choice> - <sequence> - <element name="PGPKeyID" type="base64Binary"/> - <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <sequence> - <element name="PGPKeyPacket" type="base64Binary"/> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </choice> -</complexType> - -<!-- End PGPData --> - -<!-- Begin SPKIData --> - -<element name="SPKIData" type="ds:SPKIDataType"/> -<complexType name="SPKIDataType"> - <sequence maxOccurs="unbounded"> - <element name="SPKISexp" type="base64Binary"/> - <any namespace="##other" processContents="lax" minOccurs="0"/> - </sequence> -</complexType> - -<!-- End SPKIData --> - -<!-- End KeyInfo --> - -<!-- Start Object (Manifest, SignatureProperty) --> - -<element name="Object" type="ds:ObjectType"/> -<complexType name="ObjectType" mixed="true"> - <sequence minOccurs="0" maxOccurs="unbounded"> - <any namespace="##any" processContents="lax"/> - </sequence> - <attribute name="Id" type="ID" use="optional"/> - <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet --> - <attribute name="Encoding" type="anyURI" use="optional"/> -</complexType> - -<element name="Manifest" type="ds:ManifestType"/> -<complexType name="ManifestType"> - <sequence> - <element ref="ds:Reference" maxOccurs="unbounded"/> - </sequence> - <attribute name="Id" type="ID" use="optional"/> -</complexType> - -<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> -<complexType name="SignaturePropertiesType"> - <sequence> - <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> - </sequence> - <attribute name="Id" type="ID" use="optional"/> -</complexType> - - <element name="SignatureProperty" type="ds:SignaturePropertyType"/> - <complexType name="SignaturePropertyType" mixed="true"> - <choice maxOccurs="unbounded"> - <any namespace="##other" processContents="lax"/> - <!-- (1,1) elements from (1,unbounded) namespaces --> - </choice> - <attribute name="Target" type="anyURI" use="required"/> - <attribute name="Id" type="ID" use="optional"/> - </complexType> - -<!-- End Object (Manifest, SignatureProperty) --> - -<!-- Start Algorithm Parameters --> - -<simpleType name="HMACOutputLengthType"> - <restriction base="integer"/> -</simpleType> - -<!-- Start KeyValue Element-types --> - -<element name="DSAKeyValue" type="ds:DSAKeyValueType"/> -<complexType name="DSAKeyValueType"> - <sequence> - <sequence minOccurs="0"> - <element name="P" type="ds:CryptoBinary"/> - <element name="Q" type="ds:CryptoBinary"/> - </sequence> - <element name="G" type="ds:CryptoBinary" minOccurs="0"/> - <element name="Y" type="ds:CryptoBinary"/> - <element name="J" type="ds:CryptoBinary" minOccurs="0"/> - <sequence minOccurs="0"> - <element name="Seed" type="ds:CryptoBinary"/> - <element name="PgenCounter" type="ds:CryptoBinary"/> - </sequence> - </sequence> -</complexType> - -<element name="RSAKeyValue" type="ds:RSAKeyValueType"/> -<complexType name="RSAKeyValueType"> - <sequence> - <element name="Modulus" type="ds:CryptoBinary"/> - <element name="Exponent" type="ds:CryptoBinary"/> - </sequence> -</complexType> - -<!-- End KeyValue Element-types --> - -<!-- End Signature --> - -</schema> diff --git a/spss.slinterface/res/resources/stylesheets/moa2sl.xsl b/spss.slinterface/res/resources/stylesheets/moa2sl.xsl deleted file mode 100644 index 2e3a09655..000000000 --- a/spss.slinterface/res/resources/stylesheets/moa2sl.xsl +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xmlspysamplexml E:\cio\projekte\basismodule\slinterface\res\resources\stylesheets\verifyresponse.moa.xml?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> - <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/> - <!-- ################################################################################################# --> - <!-- # Templates --> - <!-- ################################################################################################# --> - <!-- =================================================================================================== --> - <!-- Template für / --> - <!-- =================================================================================================== --> - <xsl:template match="/"> - <xsl:apply-templates select="*"/> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für moa:VerifyXMLSignatureResponse --> - <!-- =================================================================================================== --> - <xsl:template match="moa:VerifyXMLSignatureResponse"> - <sl11:VerifyXMLSignatureResponse> - <xsl:apply-templates select="moa:SignerInfo"/> - <sl11:SignatureCheck> - <xsl:call-template name="checkResult"> - <xsl:with-param name="checkElem" select="moa:SignatureCheck"/> - </xsl:call-template> - </sl11:SignatureCheck> - <xsl:if test="./moa:SignatureManifestCheck"> - <sl11:SignatureManifestCheck> - <xsl:call-template name="checkResult"> - <xsl:with-param name="checkElem" select="moa:SignatureManifestCheck"/> - </xsl:call-template> - </sl11:SignatureManifestCheck> - </xsl:if> - <xsl:if test="./moa:XMLDSIGManifestCheck"> - <sl11:XMLDSIGManifestCheck> - <xsl:call-template name="checkResult"> - <xsl:with-param name="checkElem" select="moa:XMLDSIGManifestCheck"/> - </xsl:call-template> - </sl11:XMLDSIGManifestCheck> - </xsl:if> - <sl11:CertificateCheck> - <xsl:call-template name="checkResult"> - <xsl:with-param name="checkElem" select="moa:CertificateCheck"/> - </xsl:call-template> - </sl11:CertificateCheck> - </sl11:VerifyXMLSignatureResponse> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für moa:SignerInfo --> - <!-- =================================================================================================== --> - <xsl:template match="moa:SignerInfo"> - <sl11:SignerInfo> - <xsl:for-each select="*"> - <xsl:choose> - <xsl:when test="namespace-uri(.) = 'http://reference.e-government.gv.at/namespace/moa/20020822#'"> - <!-- suppress moa elements --> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="."/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </sl11:SignerInfo> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für moa:CheckResultType, moa:ReferencesCheckResultType, moa:ManifestRefsCheckResultType --> - <!-- =================================================================================================== --> - <xsl:template name="checkResult"> - <xsl:param name="checkElem">default</xsl:param> - <xsl:param name="checkType">default</xsl:param> - <sl10:Code> - <xsl:value-of select="$checkElem/moa:Code/child::node()"/> - </sl10:Code> - <sl10:Info> - <xsl:for-each select="$checkElem/moa:Info/child::node()"> - <xsl:choose> - <xsl:when test="namespace-uri(.) = 'http://reference.e-government.gv.at/namespace/moa/20020822#'"> - <xsl:choose> - <xsl:when test="local-name(.) = 'FailedReference'"> - <sl11:FailedReference> - <xsl:value-of select="./node()"/> - </sl11:FailedReference> - </xsl:when> - <xsl:when test="local-name(.) = 'ReferringSigReference'"> - <sl11:ReferringSigReference> - <xsl:value-of select="./node()"/> - </sl11:ReferringSigReference> - </xsl:when> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="."/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </sl10:Info> - </xsl:template> -</xsl:stylesheet> diff --git a/spss.slinterface/res/resources/stylesheets/sl2moa.xsl b/spss.slinterface/res/resources/stylesheets/sl2moa.xsl deleted file mode 100644 index a2c43527f..000000000 --- a/spss.slinterface/res/resources/stylesheets/sl2moa.xsl +++ /dev/null @@ -1,218 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xmlspysamplexml E:\cio\projekte\basismodule\slinterface\res\resources\stylesheets\simpleVerReq.sl12.locref.xml?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sl12="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#"> - <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/> - <xsl:variable name="trustProfileId">TrustProfile1</xsl:variable> - <!-- ################################################################################################# --> - <!-- # Templates --> - <!-- ################################################################################################# --> - <!-- =================================================================================================== --> - <!-- Template für / --> - <!-- =================================================================================================== --> - <xsl:template match="/"> - <xsl:apply-templates select="*"/> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für sl11:VerifyXMLSignatureRequest --> - <!-- =================================================================================================== --> - <xsl:template match="sl11:VerifyXMLSignatureRequest"> - <moa:VerifyXMLSignatureRequest> - <xsl:call-template name="copyNSDeclarations"> - <xsl:with-param name="sourceElem" select="sl11:VerifyXMLSignatureRequest"/> - </xsl:call-template> - <xsl:apply-templates select="sl11:DateTime"/> - <xsl:apply-templates select="sl11:SignatureInfo"/> - <xsl:apply-templates select="sl11:Supplement"/> - <moa:ReturnHashInputData/> - <moa:TrustProfileID> - <xsl:copy-of select="$trustProfileId"/> - </moa:TrustProfileID> - </moa:VerifyXMLSignatureRequest> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für sl12:VerifyXMLSignatureRequest --> - <!-- =================================================================================================== --> - <xsl:template match="sl12:VerifyXMLSignatureRequest"> - <moa:VerifyXMLSignatureRequest> - <xsl:call-template name="copyNSDeclarations"> - <xsl:with-param name="sourceElem" select="sl12:VerifyXMLSignatureRequest"/> - </xsl:call-template> - <xsl:apply-templates select="sl12:DateTime"/> - <xsl:apply-templates select="sl12:SignatureInfo"/> - <xsl:apply-templates select="sl12:Supplement"/> - <moa:ReturnHashInputData/> - <moa:Trustprofile> - <xsl:copy-of select="$trustProfileId"/> - </moa:Trustprofile> - </moa:VerifyXMLSignatureRequest> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für sl11:DateTime --> - <!-- =================================================================================================== --> - <xsl:template match="sl11:DateTime"> - <moa:DateTime> - <xsl:value-of select="."/> - </moa:DateTime> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template für sl12:DateTime --> - <!-- =================================================================================================== --> - <xsl:template match="sl12:DateTime"> - <moa:DateTime> - <xsl:value-of select="."/> - </moa:DateTime> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl11:SignatureInfo --> - <!-- =================================================================================================== --> - <xsl:template match="sl11:SignatureInfo"> - <moa:VerifySignatureInfo> - <moa:VerifySignatureEnvironment> - <xsl:call-template name="content10"> - <xsl:with-param name="contentElem" select="sl11:SignatureEnvironment"/> - </xsl:call-template> - </moa:VerifySignatureEnvironment> - <moa:VerifySignatureLocation xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> - <!-- Explicit namespace decl xmlns:dsig above is a workaround since damn Xalan does not correctly copy the namespace declarations --> - <xsl:call-template name="copyNSDeclarations"> - <xsl:with-param name="sourceElem" select="./sl11:SignatureLocation"/> - </xsl:call-template> - <xsl:value-of select="sl11:SignatureLocation/node()"/> - </moa:VerifySignatureLocation> - </moa:VerifySignatureInfo> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl12:SignatureInfo --> - <!-- =================================================================================================== --> - <xsl:template match="sl12:SignatureInfo"> - <moa:VerifySignatureInfo> - <moa:VerifySignatureEnvironment> - <xsl:call-template name="content12"> - <xsl:with-param name="contentElem" select="sl12:SignatureEnvironment"/> - </xsl:call-template> - </moa:VerifySignatureEnvironment> - <moa:VerifySignatureLocation xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> - <!-- Explicit namespace decl xmlns:dsig above is a workaround since damn Xalan does not correctly copy the namespace declarations --> - <xsl:call-template name="copyNSDeclarations"> - <xsl:with-param name="sourceElem" select="./sl12:SignatureLocation"/> - </xsl:call-template> - <xsl:value-of select="sl12:SignatureLocation/node()"/> - </moa:VerifySignatureLocation> - </moa:VerifySignatureInfo> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl11:Supplement --> - <!-- =================================================================================================== --> - <xsl:template match="sl11:Supplement"> - <xsl:if test="sl10:MetaInfo"> - <moa:MetaInfo> - <xsl:call-template name="metaInfo"> - <xsl:with-param name="metaInfoElem" select="sl10:MetaInfo"/> - </xsl:call-template> - </moa:MetaInfo> - </xsl:if> - <moa:Content> - <xsl:call-template name="content10"> - <xsl:with-param name="contentElem" select="sl10:Content"/> - </xsl:call-template> - </moa:Content> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl12:Supplement --> - <!-- =================================================================================================== --> - <xsl:template match="sl12:Supplement"> - <xsl:if test="sl12:MetaInfo"> - <moa:MetaInfo> - <xsl:call-template name="metaInfo"> - <xsl:with-param name="metaInfoElem" select="sl12:MetaInfo"/> - </xsl:call-template> - </moa:MetaInfo> - </xsl:if> - <moa:Content> - <xsl:call-template name="content12"> - <xsl:with-param name="contentElem" select="sl12:Content"/> - </xsl:call-template> - </moa:Content> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl10:ContentOptionalRefType and sl10:ContentRequiredRefType --> - <!-- =================================================================================================== --> - <xsl:template name="content10"> - <xsl:param name="contentElem">default</xsl:param> - <xsl:if test="$contentElem/@Reference"> - <xsl:attribute name="Reference"><xsl:value-of select="$contentElem/@Reference"/></xsl:attribute> - </xsl:if> - <xsl:choose> - <xsl:when test="$contentElem/sl10:Base64Content"> - <moa:Base64Content> - <xsl:value-of select="$contentElem/sl10:Base64Content/node()"/> - </moa:Base64Content> - </xsl:when> - <xsl:otherwise> - <moa:XMLContent> - <xsl:if test="$contentElem/sl10:XMLContent/@xml:space"> - <xsl:attribute name="xml:space"><xsl:value-of select="$contentElem/sl10:XMLContent/@xml:space"/></xsl:attribute> - </xsl:if> - <xsl:copy-of select="$contentElem/sl10:XMLContent/node()"/> - </moa:XMLContent> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl12:ContentOptionalRefType and sl12:ContentRequiredRefType --> - <!-- =================================================================================================== --> - <xsl:template name="content12"> - <xsl:param name="contentElem">default</xsl:param> - <xsl:if test="$contentElem/@Reference"> - <xsl:attribute name="Reference"><xsl:value-of select="$contentElem/@Reference"/></xsl:attribute> - </xsl:if> - <xsl:choose> - <xsl:when test="$contentElem/sl12:Base64Content"> - <moa:Base64Content> - <xsl:value-of select="$contentElem/sl12:Base64Content/node()"/> - </moa:Base64Content> - </xsl:when> - <xsl:when test="$contentElem/sl12:LocRefContent"> - <moa:LocRefContent> - <xsl:value-of select="$contentElem/sl12:LocRefContent/node()"/> - </moa:LocRefContent> - </xsl:when> - <xsl:otherwise> - <moa:XMLContent> - <xsl:if test="$contentElem/sl12:XMLContent/@xml:space"> - <xsl:attribute name="xml:space"><xsl:value-of select="$contentElem/sl12:XMLContent/@xml:space"/></xsl:attribute> - </xsl:if> - <xsl:copy-of select="$contentElem/sl12:XMLContent/node()"/> - </moa:XMLContent> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for sl10:MetaInfoType --> - <!-- =================================================================================================== --> - <xsl:template name="metaInfo"> - <xsl:param name="metaInfoElem">default</xsl:param> - <moa:MimeType> - <xsl:value-of select="$metaInfoElem/sl10:MimeType/node()"/> - </moa:MimeType> - <xsl:if test="$metaInfoElem/sl10:Description"> - <moa:Description> - <xsl:value-of select="$metaInfoElem/sl10:Description/node()"/> - </moa:Description> - </xsl:if> - <xsl:if test="$metaInfoElem/*[not(self::sl10:MimeType or self::sl10:Description)]"> - <xsl:copy-of select="$metaInfoElem/*[not(self::sl10:MimeType or self::sl10:Description)]"/> - </xsl:if> - </xsl:template> - <!-- =================================================================================================== --> - <!-- Template for copying all namespace declarations of an element --> - <!-- =================================================================================================== --> - <xsl:template name="copyNSDeclarations"> - <xsl:param name="sourceElem">default</xsl:param> - <xsl:for-each select="$sourceElem/namespace::*"> - <xsl:variable name="currentNodeName" select="name(.)"/> - <xsl:variable name="currentNodeValue" select="string(.)"/> - <xsl:attribute name="xmlns:{$currentNodeName}"><xsl:copy-of select="$currentNodeValue"></xsl:copy-of></xsl:attribute> - </xsl:for-each> - </xsl:template> -</xsl:stylesheet> diff --git a/spss.slinterface/res/resources/test/simpleVerReq.moa.xml b/spss.slinterface/res/resources/test/simpleVerReq.moa.xml deleted file mode 100644 index de6f34ed2..000000000 --- a/spss.slinterface/res/resources/test/simpleVerReq.moa.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><moa:VerifyXMLSignatureRequest xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><moa:VerifySignatureInfo><moa:VerifySignatureEnvironment><moa:XMLContent><dsig:Signature Id="HS_signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference Id="reference-data-1" URI="#signed-data"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="intersect" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id('signed-data')/node()</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>aylv7lNNes2pI022g7zfY1AOUmI=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#refetsi"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="intersect" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>rYJgLYFMHaAcQjIlwSpFqXp5d1A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>VnwHohi/ootc3mIWh2WnInNvjA+/kJOr5bDRl5no1CMsNA+1qhoVZCErHt75gp9m -O0MPBAcl7KfvkDTbHuMR1oG1Z4RUh52cE5oQietiwHGQIeuWEJ+IGcVcnkoayz4z -2tQLkdotBhV0mCmkQjyADNn8P4H5yHNsdPq0joqy+2Q=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIE4DCCA8igAwIBAgICGEowDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxHjAcBgNVBAsTFWEtc2lnbi1QcmVt -aXVtLVNpZy0wMTEeMBwGA1UEAxMVYS1zaWduLVByZW1pdW0tU2lnLTAxMB4XDTAz -MDEyNzEwMTQxM1oXDTA2MDEyNzEwMTQxM1owZDELMAkGA1UEBhMCQVQxGTAXBgNV -BAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQTCUthcmxpbmdlcjEPMA0GA1UE -KhMGR3JlZ29yMRUwEwYDVQQFEww5MTM4OTU1NTI5MTEwgZ8wDQYJKoZIhvcNAQEB -BQADgY0AMIGJAoGBANrnnGN6wiOyq/rskasBf/Tz4grEKI+NBAuDgO5aqObNDBAe -PISMQ2nFNX2nzoSNx7j7esl4KdgySmJkZWs/nErpE5fB8lHOfrPRD61dodS+Nhwi -RWlm+I+ua+mOwR18fg/Cwt3YpXZihzZ+ju7eFlxRifHtKJCLOld6IvdFdFCtAgMB -AAGjggHqMIIB5jATBgNVHSMEDDAKgAhA1/OeG4c6zDA+BggrBgEFBQcBAwEB/wQv -MC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVICAQACAQAwCgYIKwYBBQUHCwEw -fQYIKwYBBQUHAQEEcTBvMEIGCCsGAQUFBzAChjZodHRwOi8vd3d3LmEtdHJ1c3Qu -YXQvY2VydHMvYS1zaWduLVByZW1pdW0tU2lnLTAxYS5jcnQwKQYIKwYBBQUHMAGG -HWh0dHA6Ly93d3cuYS10cnVzdC5hdDo4Mi9vY3NwME8GA1UdIARIMEYwRAYGKigA -EQELMDowOAYIKwYBBQUHAgEWLGh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2Nw -L2Etc2lnbi1QcmVtaXVtMGoGA1UdHwRjMGEwX6BdoFuGWWxkYXA6Ly9sZGFwLmEt -dHJ1c3QuYXQvb3U9YS1zaWduLVByZW1pdW0tU2lnLTAxLG89QS1UcnVzdCxjPUFU -P2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/MBEGA1UdDgQKBAhOYExavdLCITAO -BgNVHQ8BAf8EBAMCBsAwJQYDVR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8u -Z3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAL+A2+Z5gQvn6SnZe -sLvVVVB1crHe7NI/Om2rEwha4PfEk2pV9UdOg7C1XSzRu9jCNXIAuUSIpxTtAoJH -sCk82S+iuEEgyVaXU/zFcbgT/k7opHXHswEC6ab2SQnyOlugyG+o7e9nRwAQTzzj -ryICr3KACQcVwCpLKCgsU6gYQL1bi/c5vk4rnDYquSm1U34+xIl77CefZN/peGU4 -26vUzGma30wHBepLX5M+NXT7ILRzRk4i8oyOccIzOMi/iwAODJmgSSMcYjUgAngE -oGYK9ngWu7Rr1gvy4lvOwpGGRpz2MP3nU9H2IfKk36n6hhVpc3EC6aF02RdIBD+x -8VxVsA==</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data">Das ist ein Test.</dsig:Object><dsig:Object Id="refetsi"><etsi:QualifyingProperties Target="#HS_signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-08-14T12:53:27Z</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>wl/zuayZxKuYlH2G2FQCTcosSSg=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>6218</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-data-1"><etsi:MimeType>text/plain</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></moa:XMLContent></moa:VerifySignatureEnvironment><moa:VerifySignatureLocation></moa:VerifySignatureLocation></moa:VerifySignatureInfo><moa:ReturnHashInputData/><moa:Trustprofile>TrustProfile1</moa:Trustprofile></moa:VerifyXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/test/simpleVerReq.sl11.xml b/spss.slinterface/res/resources/test/simpleVerReq.sl11.xml deleted file mode 100644 index 78180c2c3..000000000 --- a/spss.slinterface/res/resources/test/simpleVerReq.sl11.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Gregor Karlinger (Bundeskanzleramt) --> -<sl11:VerifyXMLSignatureRequest xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.buergerkarte.at/namespaces/securitylayer/20020831# -schemas\Core.20020831.xsd"> - <sl11:SignatureInfo> - <sl11:SignatureEnvironment> - <sl10:XMLContent> - <dsig:Signature Id="HS_signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> - <dsig:SignedInfo> - <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> - <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> - <dsig:Reference Id="reference-data-1" URI="#signed-data"> - <dsig:Transforms> - <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> - <xf2:XPath Filter="intersect" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id('signed-data')/node()</xf2:XPath> - </dsig:Transform> - </dsig:Transforms> - <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <dsig:DigestValue>aylv7lNNes2pI022g7zfY1AOUmI=</dsig:DigestValue> - </dsig:Reference> - <dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#refetsi"> - <dsig:Transforms> - <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> - <xf2:XPath Filter="intersect" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath> - </dsig:Transform> - </dsig:Transforms> - <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <dsig:DigestValue>rYJgLYFMHaAcQjIlwSpFqXp5d1A=</dsig:DigestValue> - </dsig:Reference> - </dsig:SignedInfo> - <dsig:SignatureValue>VnwHohi/ootc3mIWh2WnInNvjA+/kJOr5bDRl5no1CMsNA+1qhoVZCErHt75gp9m -O0MPBAcl7KfvkDTbHuMR1oG1Z4RUh52cE5oQietiwHGQIeuWEJ+IGcVcnkoayz4z -2tQLkdotBhV0mCmkQjyADNn8P4H5yHNsdPq0joqy+2Q=</dsig:SignatureValue> - <dsig:KeyInfo> - <dsig:X509Data> - <dsig:X509Certificate>MIIE4DCCA8igAwIBAgICGEowDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxHjAcBgNVBAsTFWEtc2lnbi1QcmVt -aXVtLVNpZy0wMTEeMBwGA1UEAxMVYS1zaWduLVByZW1pdW0tU2lnLTAxMB4XDTAz -MDEyNzEwMTQxM1oXDTA2MDEyNzEwMTQxM1owZDELMAkGA1UEBhMCQVQxGTAXBgNV -BAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQTCUthcmxpbmdlcjEPMA0GA1UE -KhMGR3JlZ29yMRUwEwYDVQQFEww5MTM4OTU1NTI5MTEwgZ8wDQYJKoZIhvcNAQEB -BQADgY0AMIGJAoGBANrnnGN6wiOyq/rskasBf/Tz4grEKI+NBAuDgO5aqObNDBAe -PISMQ2nFNX2nzoSNx7j7esl4KdgySmJkZWs/nErpE5fB8lHOfrPRD61dodS+Nhwi -RWlm+I+ua+mOwR18fg/Cwt3YpXZihzZ+ju7eFlxRifHtKJCLOld6IvdFdFCtAgMB -AAGjggHqMIIB5jATBgNVHSMEDDAKgAhA1/OeG4c6zDA+BggrBgEFBQcBAwEB/wQv -MC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVICAQACAQAwCgYIKwYBBQUHCwEw -fQYIKwYBBQUHAQEEcTBvMEIGCCsGAQUFBzAChjZodHRwOi8vd3d3LmEtdHJ1c3Qu -YXQvY2VydHMvYS1zaWduLVByZW1pdW0tU2lnLTAxYS5jcnQwKQYIKwYBBQUHMAGG -HWh0dHA6Ly93d3cuYS10cnVzdC5hdDo4Mi9vY3NwME8GA1UdIARIMEYwRAYGKigA -EQELMDowOAYIKwYBBQUHAgEWLGh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2Nw -L2Etc2lnbi1QcmVtaXVtMGoGA1UdHwRjMGEwX6BdoFuGWWxkYXA6Ly9sZGFwLmEt -dHJ1c3QuYXQvb3U9YS1zaWduLVByZW1pdW0tU2lnLTAxLG89QS1UcnVzdCxjPUFU -P2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/MBEGA1UdDgQKBAhOYExavdLCITAO -BgNVHQ8BAf8EBAMCBsAwJQYDVR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8u -Z3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAL+A2+Z5gQvn6SnZe -sLvVVVB1crHe7NI/Om2rEwha4PfEk2pV9UdOg7C1XSzRu9jCNXIAuUSIpxTtAoJH -sCk82S+iuEEgyVaXU/zFcbgT/k7opHXHswEC6ab2SQnyOlugyG+o7e9nRwAQTzzj -ryICr3KACQcVwCpLKCgsU6gYQL1bi/c5vk4rnDYquSm1U34+xIl77CefZN/peGU4 -26vUzGma30wHBepLX5M+NXT7ILRzRk4i8oyOccIzOMi/iwAODJmgSSMcYjUgAngE -oGYK9ngWu7Rr1gvy4lvOwpGGRpz2MP3nU9H2IfKk36n6hhVpc3EC6aF02RdIBD+x -8VxVsA==</dsig:X509Certificate> - </dsig:X509Data> - </dsig:KeyInfo> - <dsig:Object Id="signed-data">Das ist ein Test.</dsig:Object> - <dsig:Object Id="refetsi"> - <etsi:QualifyingProperties Target="#HS_signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"> - <etsi:SignedProperties> - <etsi:SignedSignatureProperties> - <etsi:SigningTime>2003-08-14T12:53:27Z</etsi:SigningTime> - <etsi:SigningCertificate> - <etsi:Cert> - <etsi:CertDigest> - <etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <etsi:DigestValue>wl/zuayZxKuYlH2G2FQCTcosSSg=</etsi:DigestValue> - </etsi:CertDigest> - <etsi:IssuerSerial> - <dsig:X509IssuerName>CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName> - <dsig:X509SerialNumber>6218</dsig:X509SerialNumber> - </etsi:IssuerSerial> - </etsi:Cert> - </etsi:SigningCertificate> - <etsi:SignaturePolicyIdentifier> - <etsi:SignaturePolicyImplied/> - </etsi:SignaturePolicyIdentifier> - </etsi:SignedSignatureProperties> - <etsi:SignedDataObjectProperties> - <etsi:DataObjectFormat ObjectReference="#reference-data-1"> - <etsi:MimeType>text/plain</etsi:MimeType> - </etsi:DataObjectFormat> - </etsi:SignedDataObjectProperties> - </etsi:SignedProperties> - </etsi:QualifyingProperties> - </dsig:Object> - </dsig:Signature> - </sl10:XMLContent> - </sl11:SignatureEnvironment> - <sl11:SignatureLocation>/dsig:Signature</sl11:SignatureLocation> - </sl11:SignatureInfo> -</sl11:VerifyXMLSignatureRequest> diff --git a/spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.moa.xml b/spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.moa.xml deleted file mode 100644 index 65e4f5de2..000000000 --- a/spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.moa.xml +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><moa:VerifyXMLSignatureRequest xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:sl12="http://www.buergerkarte.at/namespaces/securitylayer/20031231#"><moa:DateTime>2003-03-24T12:41:54+01:00</moa:DateTime><moa:VerifySignatureInfo><moa:VerifySignatureEnvironment><moa:LocRefContent>http://anywhere.com/signature.xml</moa:LocRefContent></moa:VerifySignatureEnvironment><moa:VerifySignatureLocation>/dsig:Signature</moa:VerifySignatureLocation></moa:VerifySignatureInfo><moa:MetaInfo><moa:MimeType>text/xml</moa:MimeType><moa:Description>description</moa:Description></moa:MetaInfo><moa:Content Reference="supplement.xml"><moa:LocRefContent>http://anywhere.com/supplement.xml</moa:LocRefContent></moa:Content><moa:ReturnHashInputData/><moa:Trustprofile>TrustProfile1</moa:Trustprofile></moa:VerifyXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.xml b/spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.xml deleted file mode 100644 index 25194465d..000000000 --- a/spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Gregor Karlinger (Bundeskanzleramt) --> -<sl12:VerifyXMLSignatureRequest xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl12="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"> - <sl12:DateTime>2003-03-24T12:41:54+01:00</sl12:DateTime> - <sl12:SignatureInfo> - <sl12:SignatureEnvironment> - <sl12:LocRefContent>http://anywhere.com/signature.xml</sl12:LocRefContent> - </sl12:SignatureEnvironment> - <sl12:SignatureLocation Test="abc" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</sl12:SignatureLocation> - </sl12:SignatureInfo> - <sl12:Supplement> - <sl12:MetaInfo> - <sl10:MimeType>text/xml</sl10:MimeType> - <sl10:Description>description</sl10:Description> - </sl12:MetaInfo> - <sl12:Content Reference="supplement.xml"> - <sl12:LocRefContent>http://anywhere.com/supplement.xml</sl12:LocRefContent> - </sl12:Content> - </sl12:Supplement> -</sl12:VerifyXMLSignatureRequest> diff --git a/spss.slinterface/res/resources/test/simpleVerReq.xml b/spss.slinterface/res/resources/test/simpleVerReq.xml deleted file mode 100644 index 78180c2c3..000000000 --- a/spss.slinterface/res/resources/test/simpleVerReq.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Gregor Karlinger (Bundeskanzleramt) --> -<sl11:VerifyXMLSignatureRequest xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.buergerkarte.at/namespaces/securitylayer/20020831# -schemas\Core.20020831.xsd"> - <sl11:SignatureInfo> - <sl11:SignatureEnvironment> - <sl10:XMLContent> - <dsig:Signature Id="HS_signature" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> - <dsig:SignedInfo> - <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> - <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> - <dsig:Reference Id="reference-data-1" URI="#signed-data"> - <dsig:Transforms> - <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> - <xf2:XPath Filter="intersect" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id('signed-data')/node()</xf2:XPath> - </dsig:Transform> - </dsig:Transforms> - <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <dsig:DigestValue>aylv7lNNes2pI022g7zfY1AOUmI=</dsig:DigestValue> - </dsig:Reference> - <dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#refetsi"> - <dsig:Transforms> - <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> - <xf2:XPath Filter="intersect" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath> - </dsig:Transform> - </dsig:Transforms> - <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <dsig:DigestValue>rYJgLYFMHaAcQjIlwSpFqXp5d1A=</dsig:DigestValue> - </dsig:Reference> - </dsig:SignedInfo> - <dsig:SignatureValue>VnwHohi/ootc3mIWh2WnInNvjA+/kJOr5bDRl5no1CMsNA+1qhoVZCErHt75gp9m -O0MPBAcl7KfvkDTbHuMR1oG1Z4RUh52cE5oQietiwHGQIeuWEJ+IGcVcnkoayz4z -2tQLkdotBhV0mCmkQjyADNn8P4H5yHNsdPq0joqy+2Q=</dsig:SignatureValue> - <dsig:KeyInfo> - <dsig:X509Data> - <dsig:X509Certificate>MIIE4DCCA8igAwIBAgICGEowDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxHjAcBgNVBAsTFWEtc2lnbi1QcmVt -aXVtLVNpZy0wMTEeMBwGA1UEAxMVYS1zaWduLVByZW1pdW0tU2lnLTAxMB4XDTAz -MDEyNzEwMTQxM1oXDTA2MDEyNzEwMTQxM1owZDELMAkGA1UEBhMCQVQxGTAXBgNV -BAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQTCUthcmxpbmdlcjEPMA0GA1UE -KhMGR3JlZ29yMRUwEwYDVQQFEww5MTM4OTU1NTI5MTEwgZ8wDQYJKoZIhvcNAQEB -BQADgY0AMIGJAoGBANrnnGN6wiOyq/rskasBf/Tz4grEKI+NBAuDgO5aqObNDBAe -PISMQ2nFNX2nzoSNx7j7esl4KdgySmJkZWs/nErpE5fB8lHOfrPRD61dodS+Nhwi -RWlm+I+ua+mOwR18fg/Cwt3YpXZihzZ+ju7eFlxRifHtKJCLOld6IvdFdFCtAgMB -AAGjggHqMIIB5jATBgNVHSMEDDAKgAhA1/OeG4c6zDA+BggrBgEFBQcBAwEB/wQv -MC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVICAQACAQAwCgYIKwYBBQUHCwEw -fQYIKwYBBQUHAQEEcTBvMEIGCCsGAQUFBzAChjZodHRwOi8vd3d3LmEtdHJ1c3Qu -YXQvY2VydHMvYS1zaWduLVByZW1pdW0tU2lnLTAxYS5jcnQwKQYIKwYBBQUHMAGG -HWh0dHA6Ly93d3cuYS10cnVzdC5hdDo4Mi9vY3NwME8GA1UdIARIMEYwRAYGKigA -EQELMDowOAYIKwYBBQUHAgEWLGh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2Nw -L2Etc2lnbi1QcmVtaXVtMGoGA1UdHwRjMGEwX6BdoFuGWWxkYXA6Ly9sZGFwLmEt -dHJ1c3QuYXQvb3U9YS1zaWduLVByZW1pdW0tU2lnLTAxLG89QS1UcnVzdCxjPUFU -P2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/MBEGA1UdDgQKBAhOYExavdLCITAO -BgNVHQ8BAf8EBAMCBsAwJQYDVR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8u -Z3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAL+A2+Z5gQvn6SnZe -sLvVVVB1crHe7NI/Om2rEwha4PfEk2pV9UdOg7C1XSzRu9jCNXIAuUSIpxTtAoJH -sCk82S+iuEEgyVaXU/zFcbgT/k7opHXHswEC6ab2SQnyOlugyG+o7e9nRwAQTzzj -ryICr3KACQcVwCpLKCgsU6gYQL1bi/c5vk4rnDYquSm1U34+xIl77CefZN/peGU4 -26vUzGma30wHBepLX5M+NXT7ILRzRk4i8oyOccIzOMi/iwAODJmgSSMcYjUgAngE -oGYK9ngWu7Rr1gvy4lvOwpGGRpz2MP3nU9H2IfKk36n6hhVpc3EC6aF02RdIBD+x -8VxVsA==</dsig:X509Certificate> - </dsig:X509Data> - </dsig:KeyInfo> - <dsig:Object Id="signed-data">Das ist ein Test.</dsig:Object> - <dsig:Object Id="refetsi"> - <etsi:QualifyingProperties Target="#HS_signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"> - <etsi:SignedProperties> - <etsi:SignedSignatureProperties> - <etsi:SigningTime>2003-08-14T12:53:27Z</etsi:SigningTime> - <etsi:SigningCertificate> - <etsi:Cert> - <etsi:CertDigest> - <etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <etsi:DigestValue>wl/zuayZxKuYlH2G2FQCTcosSSg=</etsi:DigestValue> - </etsi:CertDigest> - <etsi:IssuerSerial> - <dsig:X509IssuerName>CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName> - <dsig:X509SerialNumber>6218</dsig:X509SerialNumber> - </etsi:IssuerSerial> - </etsi:Cert> - </etsi:SigningCertificate> - <etsi:SignaturePolicyIdentifier> - <etsi:SignaturePolicyImplied/> - </etsi:SignaturePolicyIdentifier> - </etsi:SignedSignatureProperties> - <etsi:SignedDataObjectProperties> - <etsi:DataObjectFormat ObjectReference="#reference-data-1"> - <etsi:MimeType>text/plain</etsi:MimeType> - </etsi:DataObjectFormat> - </etsi:SignedDataObjectProperties> - </etsi:SignedProperties> - </etsi:QualifyingProperties> - </dsig:Object> - </dsig:Signature> - </sl10:XMLContent> - </sl11:SignatureEnvironment> - <sl11:SignatureLocation>/dsig:Signature</sl11:SignatureLocation> - </sl11:SignatureInfo> -</sl11:VerifyXMLSignatureRequest> diff --git a/spss.slinterface/res/resources/test/test.xml b/spss.slinterface/res/resources/test/test.xml deleted file mode 100644 index a2f6a0740..000000000 --- a/spss.slinterface/res/resources/test/test.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Test>Inhalt</Test> diff --git a/spss.slinterface/res/resources/test/test.xsl b/spss.slinterface/res/resources/test/test.xsl deleted file mode 100644 index 6bb618072..000000000 --- a/spss.slinterface/res/resources/test/test.xsl +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xmlspysamplexml e:\cio\projekte\basismodule\slinterface\res\resources\test.xml?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> - <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/> - <xsl:template match="/"> - <xsl:call-template name="test"> - <xsl:with-param name="param1">hugo</xsl:with-param> - </xsl:call-template> - </xsl:template> - <xsl:template name="test"> - <xsl:param name="param1">ursl</xsl:param> - <Ergebnis attri="{$param1}"></Ergebnis> - </xsl:template> -</xsl:stylesheet> diff --git a/spss.slinterface/res/resources/test/verifyresponse.moa.sl.xml b/spss.slinterface/res/resources/test/verifyresponse.moa.sl.xml deleted file mode 100644 index 8033f8dae..000000000 --- a/spss.slinterface/res/resources/test/verifyresponse.moa.sl.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><sl11:VerifyXMLSignatureResponse xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU -MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE -CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh -bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE -AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow -gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD -SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp -b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk -ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV -IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t -ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx -26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC -MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe -MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh -dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 -BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf -dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV -HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m -zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL -o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT -V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></sl11:SignerInfo><sl11:SignatureCheck><sl10:Code>1</sl10:Code><sl10:Info> - Text1<sl11:FailedReference>0</sl11:FailedReference>Text2<sl11:FailedReference>1</sl11:FailedReference></sl10:Info></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl10:Code>2</sl10:Code><sl10:Info> - Text1<sl11:FailedReference>0</sl11:FailedReference>Text2<sl11:FailedReference>1</sl11:FailedReference></sl10:Info></sl11:SignatureManifestCheck><sl11:XMLDSIGManifestCheck><sl10:Code>2</sl10:Code><sl10:Info> - Text1<sl11:FailedReference>0</sl11:FailedReference>Text2<sl11:FailedReference>1</sl11:FailedReference> - Text3<sl11:ReferringSigReference>1</sl11:ReferringSigReference></sl10:Info></sl11:XMLDSIGManifestCheck><sl11:CertificateCheck><sl10:Code>3</sl10:Code><sl10:Info>Text</sl10:Info></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.slinterface/res/resources/test/verifyresponse.moa.xml b/spss.slinterface/res/resources/test/verifyresponse.moa.xml deleted file mode 100644 index d591997ed..000000000 --- a/spss.slinterface/res/resources/test/verifyresponse.moa.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU -MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE -CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh -bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE -AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow -gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD -SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp -b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk -ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV -IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t -ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx -26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC -MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe -MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh -dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 -BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf -dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV -HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m -zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL -o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT -V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo> - <SignatureCheck> - <Code>1</Code> - <Info> - Text1<FailedReference>0</FailedReference>Text2<FailedReference>1</FailedReference> - </Info> - </SignatureCheck> - <SignatureManifestCheck> - <Code>2</Code> - <Info> - Text1<FailedReference>0</FailedReference>Text2<FailedReference>1</FailedReference> - </Info> - </SignatureManifestCheck> - <XMLDSIGManifestCheck> - <Code>2</Code> - <Info> - Text1<FailedReference>0</FailedReference>Text2<FailedReference>1</FailedReference> - Text3<ReferringSigReference>1</ReferringSigReference> - </Info> - </XMLDSIGManifestCheck> - <CertificateCheck> - <Code>3</Code> - <Info>Text</Info> - </CertificateCheck> -</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Constants.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Constants.java deleted file mode 100644 index 6373f37fe..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Constants.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Created on 18.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@siemens.com) - */ -public class Constants -{ - // System properties - - public static final String SP_INIT_PROPS_LOC_ = "at.gv.egovernment.moa.spss.slinterface.PropertiesLocation"; - - // Init properties - - public static final String IP_SL_SCHEMA_ = "location.schema.sl"; - public static final String IP_MOA_SCHEMA_ = "location.schema.moa"; - public static final String IP_SLXHTML_SCHEMA_ = "location.schema.slxhtml"; - public static final String IP_TEMP_DIR_ = "location.tempdir"; - public static final String IP_SP_ENDPOINT_ = "service.sp.endpoint"; - public static final String IP_SP_TRUSTPROFILEID_ = "service.sp.trustProfileId"; - public static final String IP_RES_SHOWETSI_ = "result.showetsi"; - public static final String IP_RES_SHOWSLMAN_ = "result.showslmanifest"; - - public static final String IP_REW_ = "rewrite"; - public static final String IP_REW_PROXYURL_ = "rewrite.proxyURL"; - public static final String IP_REW_PROXYURL_HOSTDUMMY_ = "rewrite.proxyURL.proxyhostDummy"; - public static final String IP_REW_DNS_LOOKUP_PREFIX_ = "rewrite.dn."; - public static final String IP_REW_DNS_LOOKUP_DEFAULT_ = "rewrite.dn.default"; - public static final String IP_REW_MOASL_URLPARAMNAME_ = "rewrite.MOASLUrlParamName"; - public static final String IP_REW_MOASL_WEBAPPSERV_URL_ = "rewrite.MOASLWebAppServUrl"; - - // Logging hierarchies - - public static final String LH_BASE_ = "slinterface"; - public static final String LH_LISTENERS_ = LH_BASE_ + ".listeners"; - public static final String LH_LISTENERS_XMLPARSER_ = LH_LISTENERS_ + ".xmlparser"; - public static final String LH_FILTERS_ = LH_BASE_ + ".filters"; - public static final String LH_SERVLETS_ = LH_BASE_ + ".servlets"; - public static final String LH_BEANS_ = LH_BASE_ + ".beans"; - public static final String LH_TRANSFORMERS_ = LH_BASE_ + ".transformers"; - public static final String LH_TEST_ = LH_BASE_ + ".test"; - - // Web service context parameters - - public static final String WSCP_INIT_PROPS_ = "initProperties"; - public static final String WSCP_INITPROPS_BEAN_ = "initPropertiesBean"; - public static final String WSCP_XMLPARSER_ = "xmlParser"; - public static final String WSCP_URL_REWRITER_ = "urlRewriter"; - - // Security-Layer constants - - public static final String SLC_NAME_HTTP_REQUEST_ = "http-security-layer-request"; - public static final String SLC_NAME_XML_REQUEST_ = "XMLRequest"; - public static final String SLC_NAME_DATA_URL_ = "DataURL"; - public static final String SLC_NAME_STYLESHEET_URL_ = "StylesheetURL"; - public static final String SLC_NAME_REDIRECT_URL_ = "RedirectURL"; - - // Namespace URIs - - public static final String NSURI_SL_10_ = "http://www.buergerkarte.at/namespaces/securitylayer/20020225#"; - public static final String NSURI_SL_11_ = "http://www.buergerkarte.at/namespaces/securitylayer/20020831#"; - - // TODO Change Namespace to final SL 1.2 - public static final String NSURI_SL_12_ = "http://www.buergerkarte.at/namespaces/securitylayer/20031231#"; - - public static final String NSURI_MOA_12_ = "http://reference.e-government.gv.at/namespace/moa/20020822#"; - public static final String NSURI_NAMESPACES_ = "http://www.w3.org/2000/xmlns/"; - public static final String NSURI_XML_ = "http://www.w3.org/XML/1998/namespace"; - public static final String NSURI_DSIG_ = "http://www.w3.org/2000/09/xmldsig#"; - public static final String NSURI_XHTML_ = "http://www.w3.org/1999/xhtml"; - public static final String NSURI_ETSI_ = "http://uri.etsi.org/01903/v1.2.2#"; - public static final String NSURI_XMLBGBL_ = "http://www.bka.gv.at"; - - // Namespace prefixes - public static final String NSPRE_SL_10_ = "sl10"; - public static final String NSPRE_SL_11_ = "sl11"; - public static final String NSPRE_SL_12_ = "sl12"; - public static final String NSPRE_MOA_12_ = "moa"; - public static final String NSPRE_DSIG_ = "dsig"; - public static final String NSPRE_XHTML_ = "xhtml"; - public static final String NSPRE_ETSI_ = "etsi"; - public static final String NSPRE_XMLBGBL_ = "bka"; - - // MOA invoker constants - - public static final String MI_SP_QNAME_ = "SignatureVerification"; -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/DOMUtils.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/DOMUtils.java deleted file mode 100644 index 814d7832e..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/DOMUtils.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Created on 28.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.xerces.parsers.DOMParser; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.spss.slinterface.listeners.XMLParserErrorHandler; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class DOMUtils -{ - private static final String SAX_NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces"; - private static final String XERCES_CREATE_ENTITY_REF_NODES_FEATURE = - "http://apache.org/xml/features/dom/create-entity-ref-nodes"; - protected static final String XERCES_DEFER_NODE_EXPANSION_ = - "http://apache.org/xml/features/dom/defer-node-expansion"; - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the first text node of the specified element. - * - * @param elem The element. - * - * @return the first text node of the specified element, or <code>null</code> if <code>element</code> - * equals <code>null</code>, or if the element has no text node. - */ - public static String getText(Element elem) - { - if (elem == null) return null; - NodeList childNodes = elem.getChildNodes(); - for (int i = 0; i < childNodes.getLength(); i++) - { - Node currNode = childNodes.item(i); - if (currNode.getNodeType() == Node.TEXT_NODE) return currNode.getNodeValue(); - } - return null; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the first text node of the specified child element from the specified parent element. - * - * @param parent The parent. - * - * @param childNS The namespace of the child element. - * - * @param childLocName The local name of the child element. - * - * @return the first text node of the specified child, or <code>null</code> if <code>parent</code> equals - * <code>null</code> or has no child element with the specified namespace and local name, or if - * the child element has no text node. - */ - public static String getChildText(Element parent, String childNS, String childLocName) - { - if (parent == null) return null; - Element child = getChildElem(parent, childNS, childLocName); - if (child == null) return null; - return getText(child); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the first child element of the specified parent with the specified namspace and local name. - * - * @param parent The parent. - * - * @param childNS The namespace of the child element to be searched for. - * - * @param childLocName The local name of the child element to be searched for. - * - * @return the first child element as described above, or <code>null</code> if <code>parent</code> is - * null or has no child elements with for the specified namespace and local name. - */ - public static Element getChildElem(Element parent, String childNS, String childLocName) - { - List childElems = getChildElems(parent, childNS, childLocName, true); - return (childElems == null) ? null : (Element) childElems.get(0); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets all or the first child element(s) of the specified parent with the specified namspace and local - * name. - * - * @param parent The parent. - * - * @param childNS The namespace of the child elements to be searched for. - * - * @param childLocName The local name of the child elements to be searched for. - * - * @param firstOnly Specifies wheter only the first or all child elements with the specified namespace and - * local name should be returned. - * - * @return a <code>java.util.List</code> with objects of type <code>org.w3c.dom.Element</code>; each - * element in the list represents a child element as specified above. If <code>parent</code> - * equals <code>null</code>, or if there are no child elements as specified above, <code>null - * </code> will be returned. - */ - public static List getChildElems(Element parent, String childNS, String childLocName, boolean firstOnly) - { - if (parent == null) return null; - - ArrayList childElems = new ArrayList(); - NodeList childNodes = parent.getChildNodes(); - for (int i = 0; i < childNodes.getLength(); i++) - { - Node currNode = childNodes.item(i); - if (currNode.getNodeType() == Node.ELEMENT_NODE) - { - Element currElem = (Element) currNode; - if (childNS.equals(currElem.getNamespaceURI()) && childLocName.equals(currElem.getLocalName())) - { - childElems.add(currElem); - if (firstOnly) break; - } - } - } - return (childElems.size() == 0) ? null : childElems; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static Document parseWellFormed(InputStream is) throws Exception - { - DOMParser xmlParser = new DOMParser(); - try - { - xmlParser.setFeature(SAX_NAMESPACES_FEATURE, true); - xmlParser.setFeature(XERCES_CREATE_ENTITY_REF_NODES_FEATURE, false); - xmlParser.setFeature(XERCES_DEFER_NODE_EXPANSION_, false); - xmlParser.setErrorHandler(new XMLParserErrorHandler(false, true, true)); - - } - catch (SAXException e) - { - String message = "Initialization of XML parser failed."; - throw new Exception(message, e); - } - try - { - xmlParser.parse(new InputSource(is)); - return xmlParser.getDocument(); - } - catch (Exception e) - { - String message = "Wellformed parsing failed."; - throw new Exception(message, e); - } - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/URLRewriter.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/URLRewriter.java deleted file mode 100644 index 683851ff9..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/URLRewriter.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Created on 15.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Properties; - -import javax.servlet.http.HttpSession; - -import org.apache.log4j.Logger; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class URLRewriter -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_LISTENERS_); - - Properties initProps_; - - /** - * Flag indicating whether rewriting should take place or not. - */ - boolean doRewrite_; - - /** - * Class that manges the rewriting of URLs for the result pages. Necessary as workaround for the deploy- - * ment in the Federal Chancellory. - */ - public URLRewriter(Properties initProps) - { - initProps_ = initProps; - doRewrite_ = Boolean.valueOf(initProps_.getProperty(Constants.IP_REW_)).booleanValue(); - } - - /** - * Rewrites the specified URL. - * - * @param url A URL relative to the root of the web application server containing MOA SL. - * - * @param session The session which will be considered in the rewritten URL. - * - * @return A URL fitting for the proxy component running at the Federal Chancellory. - */ - public String rewrite(String url, HttpSession session) - { - if (doRewrite_) - { - // Get remote IP address and resolve to remote to remote domain name - String remoteAddr = (String)session.getAttribute("remoteAddr"); - String remoteName = null; - if (remoteAddr != null) - { - remoteName = initProps_.getProperty(Constants.IP_REW_DNS_LOOKUP_PREFIX_ + remoteAddr); - logger_.debug("Remote address lookup succeeded for IP " + remoteAddr + ", using " + remoteName); - } - if (remoteName == null) - { - remoteName = initProps_.getProperty(Constants.IP_REW_DNS_LOOKUP_DEFAULT_); - logger_.debug("Remote address lookup failed for IP " + remoteAddr + ", using default: " + remoteName); - } - - // Get proxy URL and replace proxy URL hostname placeholder with remote domain name - String proxyURLStr = initProps_.getProperty(Constants.IP_REW_PROXYURL_); - int pHStartIndex = proxyURLStr.indexOf(initProps_.getProperty(Constants.IP_REW_PROXYURL_HOSTDUMMY_)); - proxyURLStr = proxyURLStr.substring(0, pHStartIndex) - + remoteName - + proxyURLStr.substring(pHStartIndex - + initProps_.getProperty(Constants.IP_REW_PROXYURL_HOSTDUMMY_).length()); - - String slInterfaceURLParamName = initProps_.getProperty(Constants.IP_REW_MOASL_URLPARAMNAME_); - String slInterfaceWebAppServURLStr = initProps_.getProperty(Constants.IP_REW_MOASL_WEBAPPSERV_URL_); - - if (proxyURLStr == null || - slInterfaceURLParamName == null || - slInterfaceWebAppServURLStr == null || - "".equals(proxyURLStr.trim()) || - "".equals(slInterfaceURLParamName.trim()) || - "".equals(slInterfaceWebAppServURLStr.trim())) - { - logger_.warn("Some params for URL rewriting are not available; rewriting disabled:" + - " proxyURL: \"" + proxyURLStr + "\"," + - " slInterfaceURLParamName: \"" + slInterfaceURLParamName + "\"," + - " slInterfaceWebAppServURLStr: \"" + slInterfaceWebAppServURLStr + "\""); - return url; - } - - URL slInterfaceURL = null; - try - { - slInterfaceURL = new URL(slInterfaceWebAppServURLStr + url); - } - catch (MalformedURLException e) - { - logger_.warn("Parameter \"slInterfaceURL\" is not a valid URL: \"" + slInterfaceWebAppServURLStr + url + "\""); - return url; - } - URL proxyURL = null; - try - { - proxyURL = new URL(proxyURLStr); - } - catch (MalformedURLException e) - { - logger_.warn("Parameter \"proxyURL\" is not a valid URL: \"" + proxyURLStr + "\""); - return url; - } - - String sessionId = session.getId(); - String sessionIdParam = (sessionId != null) ? (";" + "jsessionid=" + sessionId) : ""; - String returnValue = - proxyURL.getProtocol() + - "://" + - proxyURL.getHost() + - ((proxyURL.getPort() != -1) ? (":" + proxyURL.getPort()) : "") + - proxyURL.getPath() + - ((proxyURL.getQuery() != null) ? "?" + proxyURL.getQuery() + "&" : "?") + - slInterfaceURLParamName + "=" + - slInterfaceURL.getProtocol() + - "://" + - slInterfaceURL.getHost() + - ((slInterfaceURL.getPort() != -1) ? (":" + slInterfaceURL.getPort()) : "") + - slInterfaceURL.getPath() + - sessionIdParam + - ((slInterfaceURL.getQuery() != null) ? "?" + escapeQueryPart(slInterfaceURL.getQuery()) : ""); - - logger_.debug("Rewritten URL: " + returnValue); - return returnValue; - } - else - { - logger_.debug("URL rewriting disabled via configuration. URL \"" + url + "\" remains unchanged."); - return url; - } - } - - private String escapeQueryPart(String query) - { - StringBuffer querySB = new StringBuffer(); - for (int i = 0; i < query.length(); i++) - { - if (query.charAt(i) == '&') - { - querySB.append("%26"); - } - else - { - querySB.append(query.charAt(i)); - } - } - return querySB.toString(); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Utils.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Utils.java deleted file mode 100644 index 50ae5dc03..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Utils.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Created on 25.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class Utils -{ - public static byte[] readFromInputStream(InputStream inputStream) throws IOException - { - byte[] currentBytes = new byte[500]; - int bytesRead; - ByteArrayOutputStream result = new ByteArrayOutputStream(); - do - { - bytesRead = inputStream.read(currentBytes); - if (bytesRead > 0) - { - result.write(currentBytes, 0, bytesRead); - } - } - while (bytesRead != -1); - return result.toByteArray(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static void transferStreams(InputStream in, OutputStream out) throws IOException - { - byte[] currentBytes = new byte[500]; - int bytesRead; - do - { - bytesRead = in.read(currentBytes); - if (bytesRead > 0) - { - out.write(currentBytes, 0, bytesRead); - } - } - while (bytesRead != -1); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/XPathUtils.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/XPathUtils.java deleted file mode 100644 index 16e4938ed..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/XPathUtils.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Created on 02.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface; - -import java.util.HashMap; -import java.util.StringTokenizer; - -import org.apache.xml.utils.PrefixResolverDefault; -import org.apache.xpath.XPath; -import org.apache.xpath.XPathContext; -import org.apache.xpath.objects.XObject; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class XPathUtils -{ - /** - * The XPath context for the XPath engine. - */ - protected XPathContext xPathContext_; - - /** - * The prefix resolver for the XPath engine. - */ - protected PrefixResolver prefixResolver_; - - /** - * The XPath engine. - */ - protected XPath xPath_; - - /* ==================================================================================================== */ - - public void setupContext(String xPathExpr, Node namespaceNode, String additionalNSPrefixes) - throws Exception - { - - try - { - // Set up a new evaluation context - xPathContext_ = new XPathContext(); - - // Set up the namespace prefix resolver for the XPath engine - prefixResolver_ = new PrefixResolver(namespaceNode, additionalNSPrefixes); - - // Initialize XPath engine - xPath_ = new XPath(xPathExpr, null, prefixResolver_, XPath.SELECT, null); - } - catch (Exception e) - { - throw new Exception("Setting up XPath evaluation context failed.", e); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public NodeList selectNodeSet(Node contextNode) throws Exception - { - XObject xObject; - try - { - xObject = xPath_.execute(xPathContext_, contextNode, prefixResolver_); - return xObject.nodelist(); - } - catch (Exception e) - { - throw new Exception("Executing XPath expression failed.", e); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public boolean selectBoolean(Node contextNode) throws Exception - { - XObject xObject; - try - { - xObject = xPath_.execute(xPathContext_, contextNode, prefixResolver_); - return xObject.bool(); - } - catch (Exception e) - { - throw new Exception("Executing XPath expression failed.", e); - } - } - - /* ==================================================================================================== */ - - /** - * Special extension of the {@link org.apache.xml.utils.PrefixResolverDefault} interface. Used to - * configure the Apache Xalan XPath engine which is employed as the backbone of this class. - */ - protected class PrefixResolver extends PrefixResolverDefault - { - - /** - * Contains the additionally specified namespace prefix (key) to namespace URI (value) attributions. - */ - protected HashMap additionalNSPrefixesMap_; - - /* ================================================================================================== */ - - /** - * Basic constructor. - * - * @param xpathExpressionContext The namespace declarations in scope for this node will be used to get - * the namespace uri for a prefix specified in the XPath expression. - * - * @param additionalNSPrefixes Allows the specification of additional prefix to uri attributions apart - * from the declarations in scope for the parameter <code> - * xpathExpressionContext</code>. May be <code>null</code>. - */ - public PrefixResolver(Node xpathExpressionContext, String additionalNSPrefixes) throws Exception - { - super(xpathExpressionContext); - additionalNSPrefixesMap_ = new HashMap(); - - // Register the specified additional namespace prefix to namespace uri attributions - if (additionalNSPrefixes != null) - { - StringTokenizer tokenizer = new StringTokenizer(additionalNSPrefixes, " "); - while (tokenizer.hasMoreTokens()) - { - String prefix = tokenizer.nextToken(); - if (!tokenizer.hasMoreTokens()) - { - - // There must be an even number of tokens in the string - throw new Exception("Parameter \"additionalNSPrefixes\" must have an even number of tokens."); - } - String uri = tokenizer.nextToken(); - additionalNSPrefixesMap_.put(prefix, uri); - } - } - } - - /* -------------------------------------------------------------------------------------------------- */ - - /** - * Gets the namespace uri for the specified namespace prefix. The additionally specified prefixes - * overrule the prefixes found in the specified namespace node. - * - * @param prefix The namespace prefix for which a namespace uri should be found. - * - * @return the namespace uri for the specified namespace prefix. - */ - public String getNamespaceForPrefix(String prefix) - { - String additionalURI = (String) additionalNSPrefixesMap_.get(prefix); - return (additionalURI != null) - ? additionalURI - : super.getNamespaceForPrefix(prefix); - } - } -} - diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/ChecksInfoBean.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/ChecksInfoBean.java deleted file mode 100644 index 00c9fd517..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/ChecksInfoBean.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Created on 27.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.beans; - -import java.util.List; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.DOMUtils; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class ChecksInfoBean -{ - private static final String SIG_CHECK_ELEM_ = "SignatureCheck"; - private static final String SIGMF_CHECK_ELEM_ = "SignatureManifestCheck"; - private static final String XMLDSIGMF_CHECK_ELEM_ = "XMLDSIGManifestCheck"; - private static final String CERT_CHECK_ELEM_ = "CertificateCheck"; - private static final String CODE_ELEM_ = "Code"; - private static final String INFO_ELEM_ = "Info"; - private static final String FAILEDREF_ELEM_ = "FailedReference"; - private static final String REFSIGREF_ELEM_ = "ReferringSigReference"; - - private Element sigCheckElem_; - private int sigCheckFaildRefCount_; - - private Element sigMFCheckElem_; - private int sigMFCheckFaildRefCount_; - - private List xmldsigMFCheckElems_; - private int xmldsigMFCheckCount_; - private int xmldsigMFCheckFaildRefCount_; - - private Element certCheckElem_; - - /** - * Creates a bean with information about the checks executed for the verified xml signature. - * - * @pre slResponseDoc has been validated. - */ - public ChecksInfoBean(Document slResponseDoc) - { - Element verifyXMLResponseElem = slResponseDoc.getDocumentElement(); - sigCheckElem_ = DOMUtils.getChildElem( - verifyXMLResponseElem, Constants.NSURI_SL_11_, SIG_CHECK_ELEM_); - sigMFCheckElem_ = DOMUtils.getChildElem( - verifyXMLResponseElem, Constants.NSURI_SL_11_, SIGMF_CHECK_ELEM_); - xmldsigMFCheckElems_ = DOMUtils.getChildElems( - verifyXMLResponseElem, Constants.NSURI_SL_11_, XMLDSIGMF_CHECK_ELEM_, false); - certCheckElem_ = DOMUtils.getChildElem( - verifyXMLResponseElem, Constants.NSURI_SL_11_, CERT_CHECK_ELEM_); - - sigCheckFaildRefCount_ = 0; - sigMFCheckFaildRefCount_ = 0; - xmldsigMFCheckFaildRefCount_ = 0; - xmldsigMFCheckCount_ = 0; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getSigCheckCode() - { - return DOMUtils.getChildText(sigCheckElem_, Constants.NSURI_SL_11_, CODE_ELEM_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setSigCheckFailedRefCount(int count) - { - sigCheckFaildRefCount_ = count; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getSigCheckFailedRef() - { - Element info = DOMUtils.getChildElem(sigCheckElem_, Constants.NSURI_SL_11_, INFO_ELEM_); - if (info == null) return null; - List failedRefElems = DOMUtils.getChildElems(info, Constants.NSURI_SL_11_, FAILEDREF_ELEM_, false); - if (failedRefElems == null || failedRefElems.size() <= sigCheckFaildRefCount_) return null; - return DOMUtils.getText((Element)failedRefElems.get(sigCheckFaildRefCount_)); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getSigMFCheckCode() - { - return DOMUtils.getChildText(sigMFCheckElem_, Constants.NSURI_SL_11_, CODE_ELEM_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setSigMFCheckFailedRefCount(int count) - { - sigMFCheckFaildRefCount_ = count; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getSigMFCheckFailedRef() - { - Element info = DOMUtils.getChildElem(sigMFCheckElem_, Constants.NSURI_SL_11_, INFO_ELEM_); - if (info == null) return null; - List failedRefElems = DOMUtils.getChildElems(info, Constants.NSURI_SL_11_, FAILEDREF_ELEM_, false); - if (failedRefElems == null || failedRefElems.size() <= sigMFCheckFaildRefCount_) return null; - return DOMUtils.getText((Element)failedRefElems.get(sigMFCheckFaildRefCount_)); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setXmldsigMFCheckCount(int count) - { - xmldsigMFCheckCount_ = count; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setXmldsigMFCheckFailedRefCount(int count) - { - xmldsigMFCheckFaildRefCount_ = count; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getXmldsigMFCheckCode() - { - Element xmldsigMFCheckElem = (Element)xmldsigMFCheckElems_.get(xmldsigMFCheckCount_); - return DOMUtils.getChildText(xmldsigMFCheckElem, Constants.NSURI_SL_11_, CODE_ELEM_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getXmldsigMFCheckFailedRef() - { - Element xmldsigMFCheckElem = (Element)xmldsigMFCheckElems_.get(xmldsigMFCheckCount_); - Element info = DOMUtils.getChildElem(xmldsigMFCheckElem, Constants.NSURI_SL_11_, INFO_ELEM_); - if (info == null) return null; - List failedRefElems = DOMUtils.getChildElems(info, Constants.NSURI_SL_11_, FAILEDREF_ELEM_, false); - if (failedRefElems == null || failedRefElems.size() <= xmldsigMFCheckFaildRefCount_) return null; - return DOMUtils.getText((Element)failedRefElems.get(xmldsigMFCheckFaildRefCount_)); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getXmldsigMFCheckReferringSigRef() - { - Element xmldsigMFCheckElem = (Element)xmldsigMFCheckElems_.get(xmldsigMFCheckCount_); - Element info = DOMUtils.getChildElem(xmldsigMFCheckElem, Constants.NSURI_SL_11_, INFO_ELEM_); - if (info == null) return null; - return DOMUtils.getChildText(info, Constants.NSURI_SL_11_, REFSIGREF_ELEM_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getCertCheckCode() - { - return DOMUtils.getChildText(certCheckElem_, Constants.NSURI_SL_10_, CODE_ELEM_); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java deleted file mode 100644 index 570f3fb15..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java +++ /dev/null @@ -1,541 +0,0 @@ -/* - * Created on 27.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.beans; - -import iaik.utils.Util; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Random; -import java.util.Set; -import java.util.StringTokenizer; - -import javax.servlet.ServletContext; -import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpSessionBindingEvent; -import javax.servlet.http.HttpSessionBindingListener; - -import org.apache.log4j.Logger; -import org.apache.xerces.parsers.DOMParser; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.DOMUtils; -import at.gv.egovernment.moa.spss.slinterface.URLRewriter; -import at.gv.egovernment.moa.spss.slinterface.XPathUtils; -import at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class DataInfoBean implements HttpSessionBindingListener -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_BEANS_); - - // MOA - private static final String HID_ELEM_ = "HashInputData"; - private static final String B64CONT_ELEM_ = "Base64Content"; - private static final String XMLCONT_ELEM_ = "XMLContent"; - private static final String SIGLOC_ELEM_ = "VerifySignatureLocation"; - - // XMLDSIG - private static final String TYPE_ATTR_ = "Type"; - private static final String URI_ATTR_ = "URI"; - - // XHTML - private static final String SRC_ATTR_ = "src"; - private static final String HTML_ELEM_ = "html"; - - private static final String HID_URL_PREFIX_ = "/showdata?hidCount="; - - private static final String XPATH_ALL_IMG_ = "//" + Constants.NSPRE_XHTML_ + ":img"; - private static final String XPATH_ALL_REF_ = "./" + Constants.NSPRE_DSIG_ + ":SignedInfo/" + - Constants.NSPRE_DSIG_ + ":Reference"; - private static final String XPATH_SIG_ENV_CONTENT_ = "/" + Constants.NSPRE_MOA_12_ + ":VerifyXMLSignatureRequest/" + - Constants.NSPRE_MOA_12_ + ":VerifySignatureInfo/" + Constants.NSPRE_MOA_12_ + ":VerifySignatureEnvironment/*"; - - private static final String SLXHTML_TYPE_PREFIX_ = "http://www.buergerkarte.at/specifications/" + - "Security-Layer/20031113?Name=SignedImage&InstanceDocRef="; - - private static final String ETSI_TYPE_ = "http://uri.etsi.org/01903/v1.1.1#SignedProperties"; - private static final String SLMANIFEST_TYPE_ = - "http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest"; - - ServletContext context_; - String contextPath_; - HttpSession session_; - - Properties initProps_; - - /** - * Contains objects of type {@link HashInputDataInfo}. - */ - List hashInputDataInfos_; - - int hashInputDataCount_; - - /* ---------------------------------------------------------------------------------------------------- */ - - public DataInfoBean(Document moaRequestDoc, Document moaResponseDoc, String contextPath, HttpSession session, - ServletContext context) throws Exception - { - context_ = context; - contextPath_ = contextPath; - session_ = session; - initProps_ = (Properties) context_.getAttribute(Constants.WSCP_INIT_PROPS_); - - hashInputDataInfos_ = new ArrayList(); - int hashInputDataCount_ = 0; - - Element moaResponseElem = moaResponseDoc.getDocumentElement(); - List hidElems = DOMUtils.getChildElems(moaResponseElem, Constants.NSURI_MOA_12_, HID_ELEM_, false); - - String tempDir = initProps_.getProperty(Constants.IP_TEMP_DIR_); - if (tempDir == null) - { - String message = "Init property \"" + Constants.IP_TEMP_DIR_ + "\" not set."; - logger_.error(message); - throw new IOException(message); - } - - Random random = new Random(); - for (int i = 0; i < hidElems.size(); i++) - { - // Open file for current hash input data - String currHidFileNameStr = tempDir + session_.getId() + "_" + System.currentTimeMillis() + "_" + - random.nextLong(); - currHidFileNameStr = context_.getRealPath(currHidFileNameStr); - FileOutputStream currHidFOS; - try - { - currHidFOS = new FileOutputStream(currHidFileNameStr); - } - catch (IOException e) - { - String message = "Cannot open file \"" + currHidFileNameStr + "\"."; - logger_.error(message); - throw new IOException(message); - } - - // Write HID to file - Element currHidElem = (Element) hidElems.get(i); - Element base64ContentElem = DOMUtils.getChildElem(currHidElem, Constants.NSURI_MOA_12_, B64CONT_ELEM_); - if (base64ContentElem != null) - { - // HID is base64 - - String base64ContentText = DOMUtils.getText(base64ContentElem); - byte[] content = Util.Base64Decode(base64ContentText.getBytes()); - try - { - currHidFOS.write(content); - currHidFOS.close(); - } - catch (IOException e) - { - String message = "Cannot write to file \"" + currHidFileNameStr + "\"."; - logger_.error(message); - throw new IOException(message); - } - } - else - { - // HID is XML - - // TODO treatment of XML content - throw new RuntimeException("XML content not support yet."); - } - - hashInputDataInfos_.add(new HashInputDataInfo(currHidFileNameStr)); - } - logger_.debug("Finnished writing hash input data to files."); - - // Check if hids are slxhtml documents; mark them appropriately - try - { - Map signedImages = getSignedImages(moaRequestDoc, hashInputDataInfos_); - for (int i = 0; i < hashInputDataInfos_.size(); i++) - { - HashInputDataInfo currHid = (HashInputDataInfo) hashInputDataInfos_.get(i); - FileInputStream currHidIS = new FileInputStream(currHid.filename_); - checkImages(currHidIS, currHid, signedImages); - } - } - catch (Exception e) - { - String message = "Performing SLXHTML checks failed."; - logger_.error(message, e); - throw new Exception(message, e); - } - logger_.debug("Finnished checking hash input data for slxhtml conformity."); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void valueBound(HttpSessionBindingEvent event) - { - // Do nothing. - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void valueUnbound(HttpSessionBindingEvent event) - { - // Delete all temporary hash input data files - for (int i = 0; i < hashInputDataInfos_.size(); i++) - { - String currFileStr = ((HashInputDataInfo) hashInputDataInfos_.get(i)).filename_; - File currFile = new File(currFileStr); - currFile.delete(); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setHashInputDataCount(int count) - { - hashInputDataCount_ = count; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getHashInputDataFilename() - { - HashInputDataInfo currHid = (HashInputDataInfo) hashInputDataInfos_.get(hashInputDataCount_); - return (currHid == null) ? null : currHid.filename_; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getHashInputDataURL() - { - return (hashInputDataInfos_.size() > hashInputDataCount_) - ? HID_URL_PREFIX_ + hashInputDataCount_ - : null; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public boolean getShowHashInputData() - { - HashInputDataInfo currHid = (HashInputDataInfo) hashInputDataInfos_.get(hashInputDataCount_); - return (currHid == null) ? false : currHid.doShow_; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public boolean getIsSLXHTMLDocument() - { - HashInputDataInfo currHid = (HashInputDataInfo) hashInputDataInfos_.get(hashInputDataCount_); - return (currHid == null) ? false : currHid.isSLXHTMLDocument_; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private Document parseSLXHTMLDocument(InputStream docIS) - { - DOMParser xmlParser = (DOMParser) context_.getAttribute(Constants.WSCP_XMLPARSER_); - InputSource docInputSource = new InputSource(docIS); - Document parsedDoc = null; - try - { - xmlParser.parse(docInputSource); - parsedDoc = xmlParser.getDocument(); - } - catch (Exception e) - { - // Exception shows that document is not a valid SLXHTML document; return null in that case - logger_.debug("HashInputData is not a valid SLXHTML document.", e); - return null; - } - - Element docElem = parsedDoc.getDocumentElement(); - if (docElem.getNamespaceURI() != Constants.NSURI_XHTML_ || docElem.getLocalName() != HTML_ELEM_) - { - return null; - } - - return parsedDoc; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private void checkImages(InputStream hidIS, HashInputDataInfo hid, Map signedImages) throws Exception - { - // Parse hidIS - Document slxhtmlDoc = parseSLXHTMLDocument(hidIS); - if (slxhtmlDoc == null) return; - - // Get all img elements of slxhtml document - XPathUtils xpUtils = new XPathUtils(); - String additionalNSPrefixes = Constants.NSPRE_XHTML_ + " " + Constants.NSURI_XHTML_; - xpUtils.setupContext(XPATH_ALL_IMG_, slxhtmlDoc.getDocumentElement(), additionalNSPrefixes); - NodeList imgTags = xpUtils.selectNodeSet(slxhtmlDoc); - - // Check if all img elements have corresponding slxhtml signed images - boolean allImgsSigned = true; - for (int i = 0; i < imgTags.getLength(); i++) - { - Element currImgElem = (Element) imgTags.item(i); - String uri = currImgElem.getAttribute(SRC_ATTR_); - if (!signedImages.containsKey(uri)) - { - allImgsSigned = false; - break; - } - } - - // Mark all corresponding slxhtml signed images as not to be shown - if (allImgsSigned) - { - for (int i = 0; i < imgTags.getLength(); i++) - { - Element currImgElem = (Element) imgTags.item(i); - String uri = currImgElem.getAttribute(SRC_ATTR_); - HashInputDataInfo currHidi = (HashInputDataInfo) signedImages.get(uri); - currHidi.doShow_ = false; - } - } - - if (allImgsSigned) - { - // Change the src attributes of all img tags so that they refer to the temporary names - for (int i = 0; i < imgTags.getLength(); i++) - { - Element currImgElem = (Element) imgTags.item(i); - String uri = currImgElem.getAttribute(SRC_ATTR_); - HashInputDataInfo currHidi = (HashInputDataInfo) signedImages.get(uri); - - Attr srcAttr = currImgElem.getAttributeNode(SRC_ATTR_); - int slashPos = currHidi.filename_.lastIndexOf(System.getProperty("file.separator")); - -// Properties initProps = (Properties) context_.getAttribute(Constants.WSCP_INIT_PROPS_); -// String tempDir = initProps.getProperty(Constants.IP_TEMP_DIR_); -// String newSrcAttrValue = "." + tempDir + currHidi.filename_.substring(slashPos + 1); - - Properties initProps = (Properties) context_.getAttribute(Constants.WSCP_INIT_PROPS_); - String tempDir = initProps.getProperty(Constants.IP_TEMP_DIR_); - URLRewriter urlRewriter = (URLRewriter) context_.getAttribute(Constants.WSCP_URL_REWRITER_); - String newSrcAttrValue = urlRewriter.rewrite( - contextPath_ + tempDir + currHidi.filename_.substring(slashPos + 1), session_); - - srcAttr.setNodeValue(newSrcAttrValue); - } - - // Mark hid as slxhtml document - hid.isSLXHTMLDocument_ = true; - - // Serialize modified slxhtml document to temporary file location - FileOutputStream slxhtmlFOS = new FileOutputStream(hid.filename_); - MOAInvoker.serializeDocument(slxhtmlDoc, slxhtmlFOS); - slxhtmlFOS.close(); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private Map getSignedImages(Document moaRequestDoc, List hashInputDataInfos) throws Exception - { - // Get signature from MOA request - Element signatureElem = getSignature(moaRequestDoc); - - // Get all signature references from MOA request - XPathUtils xpUtils = new XPathUtils(); - String additionalNSPrefixes = Constants.NSPRE_DSIG_ + " " + Constants.NSURI_DSIG_; - xpUtils.setupContext(XPATH_ALL_REF_, signatureElem, additionalNSPrefixes); - NodeList dsigRefs = xpUtils.selectNodeSet(signatureElem); - - // Check signature references for slxhtml images - HashMap imgHids = new HashMap(dsigRefs.getLength()); - for (int i = 0; i < dsigRefs.getLength(); i++) - { - Element currRef = (Element) dsigRefs.item(i); - String type = currRef.getAttribute(TYPE_ATTR_); - if (type != null && type.startsWith(SLXHTML_TYPE_PREFIX_)) - { - String uri = currRef.getAttribute(URI_ATTR_); - Set referredHids = createReferredHidsSet(type); - HashInputDataInfo currHidi = (HashInputDataInfo)hashInputDataInfos.get(i); - currHidi.uri_ = uri; - currHidi.referredHids_ = referredHids; - currHidi.isSLXHTMLImage_ = true; - imgHids.put(uri, currHidi); - } - } - - // Check signature references if they refer to etsi attributes or to a SL manifest - for (int i = 0; i < dsigRefs.getLength(); i++) - { - Element currRef = (Element) dsigRefs.item(i); - String type = currRef.getAttribute(TYPE_ATTR_); - if (type != null && type.equals(ETSI_TYPE_)) - { - HashInputDataInfo currHidi = (HashInputDataInfo)hashInputDataInfos.get(i); - currHidi.doShow_ = new Boolean(initProps_.getProperty(Constants.IP_RES_SHOWETSI_).trim()).booleanValue(); - } - if (type != null && type.equals(SLMANIFEST_TYPE_)) - { - HashInputDataInfo currHidi = (HashInputDataInfo)hashInputDataInfos.get(i); - currHidi.doShow_ = new Boolean(initProps_.getProperty(Constants.IP_RES_SHOWSLMAN_).trim()).booleanValue(); - } - } - - return imgHids; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private Set createReferredHidsSet(String type) throws Exception - { - HashSet set = new HashSet(); - String typeSuffix = type.substring(SLXHTML_TYPE_PREFIX_.length()); - StringTokenizer tokenizer = new StringTokenizer(typeSuffix, ","); - while (tokenizer.hasMoreTokens()) - { - try - { - set.add(new Integer(tokenizer.nextToken())); - } - catch (NumberFormatException e) - { - String message = "Signed image type attribute \"" + type + "\" is malformed."; - logger_.error(message, e); - throw new Exception(message, e); - } - } - return set; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private Element getSignature(Document moaRequestDoc) throws Exception - { - // Get signature environment content - NodeList contentNL; - try - { - XPathUtils xpUtils = new XPathUtils(); - String addNSPrefixes = Constants.NSPRE_MOA_12_ + " " + Constants.NSURI_MOA_12_; - xpUtils.setupContext(XPATH_SIG_ENV_CONTENT_, moaRequestDoc, addNSPrefixes); - contentNL = xpUtils.selectNodeSet(moaRequestDoc); - } - catch (Exception e) - { - String message = "Cannot find signature environment content."; - logger_.error(message); - throw new Exception(message, e); - } - if (contentNL.getLength() == 0) - { - String message = "Cannot find signature environment content."; - logger_.error(message); - throw new Exception(message); - } - Element contentElem = (Element) contentNL.item(0); - - // Get signature environment document from signature environment content - String contentElemLocName = contentElem.getLocalName(); - Element sigEnvElem = null; - Element oldDocElem = null; - if (XMLCONT_ELEM_.equals(contentElemLocName)) - { - // XML content - NodeList contentNodes = contentElem.getChildNodes(); - for (int i = 0; i < contentNodes.getLength(); i++) - { - Node currContNode = (Node) contentNodes.item(i); - if (currContNode.getNodeType() == Node.ELEMENT_NODE) - { - sigEnvElem = (Element) currContNode; - oldDocElem = (Element) moaRequestDoc.replaceChild(sigEnvElem, moaRequestDoc.getDocumentElement()); - break; - } - } - } - else if (B64CONT_ELEM_.equals(contentElemLocName)) - { - // Base64 content - String base64ContStr = DOMUtils.getText(contentElem); - byte[] contBytes = Util.Base64Decode(base64ContStr.getBytes()); - ByteArrayInputStream contBIS = new ByteArrayInputStream(contBytes); - Document sigEnvDoc; - try - { - sigEnvDoc = DOMUtils.parseWellFormed(contBIS); - } - catch (Exception e) - { - String message = "Cannot parse signature environment from base64 content."; - logger_.error(message); - throw new Exception(message, e); - } - sigEnvElem = sigEnvDoc.getDocumentElement(); - } - else - { - // LocRef content - String locRef = DOMUtils.getText(contentElem); - URL locRefURL = new URL(locRef); - InputStream contentIS = locRefURL.openStream(); - Document sigEnvDoc; - try - { - sigEnvDoc = DOMUtils.parseWellFormed(contentIS); - } - catch (Exception e) - { - String message = "Cannot parse signature environment from location reference content."; - logger_.error(message); - throw new Exception(message, e); - } - sigEnvElem = sigEnvDoc.getDocumentElement(); - } - - // Get signature form signature environment document - Element sigInfoElem = (Element) contentElem.getParentNode().getParentNode(); - Element sigLocElem = DOMUtils.getChildElem(sigInfoElem, Constants.NSURI_MOA_12_, SIGLOC_ELEM_); - String sigLocXPath = DOMUtils.getText(sigLocElem); - NodeList sigElemNL; - try - { - XPathUtils xpUtils = new XPathUtils(); - xpUtils.setupContext(sigLocXPath, sigLocElem, null); - sigElemNL = xpUtils.selectNodeSet(sigEnvElem); - } - catch (Exception e) - { - String message = "Cannot get signature at location \"" + sigLocXPath + "\" from signature environment."; - logger_.error(message); - throw new Exception(message, e); - } - if (sigElemNL.getLength() != 1 || ((Node) sigElemNL.item(0)).getNodeType() != Node.ELEMENT_NODE) - { - String message = "Cannot get signature at location \"" + sigLocXPath + "\" from signature environment."; - logger_.error(message); - throw new Exception(message); - } - - if (oldDocElem != null) moaRequestDoc.replaceChild(oldDocElem, moaRequestDoc.getDocumentElement()); - - return (Element) sigElemNL.item(0); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/HashInputDataInfo.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/HashInputDataInfo.java deleted file mode 100644 index e2cb27ab3..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/HashInputDataInfo.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Created on 02.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.beans; - -import java.util.Set; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class HashInputDataInfo -{ - /** - * The name of the temporary file in which this data is stored. - */ - public String filename_; - - /** - * Is this HID a SLXHTML document? - */ - public boolean isSLXHTMLDocument_; - - /** - * Is this HID a SLXHTML signed image? - */ - public boolean isSLXHTMLImage_; - - /** - * Show HID in result presentation? - */ - public boolean doShow_; - - /** - * The URI attribute value of the dsig:Reference corresponding with this HID. - */ - public String uri_; - - /** - * In case that this ID is a SLXHTML signed image, this set contains objects of type <code>Integer</code>, - * indicating the SLXHTML HIDs where this image is referenced. - */ - public Set referredHids_; - - public HashInputDataInfo(String filename) - { - filename_ = filename; - isSLXHTMLDocument_ = false; - isSLXHTMLImage_ = false; - doShow_ = true; - uri_ = null; - referredHids_ = null; - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/InitPropertiesBean.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/InitPropertiesBean.java deleted file mode 100644 index 8cb7e0a41..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/InitPropertiesBean.java +++ /dev/null @@ -1,36 +0,0 @@ -package at.gv.egovernment.moa.spss.slinterface.beans; - -import java.util.Properties; - -import org.apache.log4j.Logger; - -import at.gv.egovernment.moa.spss.slinterface.Constants; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@siemens.com) - */ -public class InitPropertiesBean -{ - private Properties initProps_; - - private static Logger logger_ = Logger.getLogger(Constants.LH_BEANS_); - - public InitPropertiesBean(Properties props) - { - initProps_ = props; - } - - public String getMOASLWebAppURL() - { - String webAppServerURLProp = initProps_.getProperty(Constants.IP_REW_MOASL_WEBAPPSERV_URL_); - logger_.debug("MOA SL Web application server URL property: " + webAppServerURLProp); - if (webAppServerURLProp == null || webAppServerURLProp.trim().length() == 0) - { - String defaultWebAppServerURL = "http://localhost:8080"; - logger_.info("MOA SL Web application server URL property not available, using default (" + defaultWebAppServerURL + ")"); - return defaultWebAppServerURL; - } - else return webAppServerURLProp; - - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/SignerInfoBean.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/SignerInfoBean.java deleted file mode 100644 index 2893b2ac3..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/SignerInfoBean.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Created on 27.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.beans; - -import iaik.asn1.ObjectID; -import iaik.asn1.structures.Name; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.DOMUtils; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class SignerInfoBean -{ - private static final String SIGNERINFO_ELEM_ = "SignerInfo"; - private static final String X509DATA_ELEM_ = "X509Data"; - private static final String X509SUBJNAME_ELEM_ = "X509SubjectName"; - private static final String X509ISSUERSERIAL_ELEM_ = "X509IssuerSerial"; - private static final String SERIAL_ELEM_ = "X509SerialNumber"; - private static final String ISSUER_ELEM_ = "X509IssuerName"; - private static final String QUALCERT_ELEM_ = "QualifiedCertificate"; - - private Element signerInfoElem_; - - private String subjectNameItemSel_; - private String issuerNameItemSel_; - - /* ---------------------------------------------------------------------------------------------------- */ - - public SignerInfoBean(Document slResponseDoc) - { - Element verifyXMLResponseElem = slResponseDoc.getDocumentElement(); - signerInfoElem_ = DOMUtils.getChildElem( - verifyXMLResponseElem, Constants.NSURI_SL_11_, SIGNERINFO_ELEM_); - - subjectNameItemSel_ = "2.5.4.3"; - issuerNameItemSel_ = "2.5.4.3"; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setSubjectNameItemSel(String selector) - { - subjectNameItemSel_ = selector; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getSubjectNameItem() - { - Element x509DataElem = DOMUtils.getChildElem(signerInfoElem_, Constants.NSURI_DSIG_, X509DATA_ELEM_); - String subjectNameStr = DOMUtils.getChildText(x509DataElem, Constants.NSURI_DSIG_, X509SUBJNAME_ELEM_); - if (subjectNameStr == null) return null; - return getRDN(subjectNameStr, subjectNameItemSel_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getSerial() - { - Element x509DataElem = DOMUtils.getChildElem(signerInfoElem_, Constants.NSURI_DSIG_, X509DATA_ELEM_); - Element iSElem = DOMUtils.getChildElem(x509DataElem, Constants.NSURI_DSIG_, X509ISSUERSERIAL_ELEM_); - return DOMUtils.getChildText(iSElem, Constants.NSURI_DSIG_, SERIAL_ELEM_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void setIssuerNameItemSel(String selector) - { - issuerNameItemSel_ = selector; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public String getIssuerNameItem() - { - Element x509DataElem = DOMUtils.getChildElem(signerInfoElem_, Constants.NSURI_DSIG_, X509DATA_ELEM_); - Element iSElem = DOMUtils.getChildElem(x509DataElem, Constants.NSURI_DSIG_, X509ISSUERSERIAL_ELEM_); - String issuerNameStr = DOMUtils.getChildText(iSElem, Constants.NSURI_DSIG_, ISSUER_ELEM_); - if (issuerNameStr == null) return null; - return getRDN(issuerNameStr, issuerNameItemSel_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public boolean getIsQualified() - { - Element x509DataElem = DOMUtils.getChildElem(signerInfoElem_, Constants.NSURI_DSIG_, X509DATA_ELEM_); - Element qCElem = DOMUtils.getChildElem(x509DataElem, Constants.NSURI_SL_11_, QUALCERT_ELEM_); - return (qCElem != null); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private String getRDN(String nameStr, String oidStr) - { - try - { - RFC2253NameParser nameParser = new RFC2253NameParser(nameStr); - Name name = nameParser.parse(); - ObjectID oid = ObjectID.getObjectID(oidStr); - if (oid == null) return null; - String[] rdns = name.getRDNs(oid); - if (rdns == null) return null; - StringBuffer rdnsStr = new StringBuffer(); - for (int i = 0; i < rdns.length; i++) - { - if (i > 0) rdnsStr.append(", "); - rdnsStr.append(rdns[i]); - } - return rdnsStr.toString(); - } - catch (RFC2253NameParserException e) - { - return null; - } - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/RequestWrapper.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/RequestWrapper.java deleted file mode 100644 index a6652a56e..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/RequestWrapper.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Created on 19.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.filters; - -import java.io.ByteArrayInputStream; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class RequestWrapper extends HttpServletRequestWrapper -{ - - private ServletInputStream inputStream_; - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Generates a request wrapper around a particular request. - * - * @param request The request to be wrapped. - * - * @param inputStream The new inputstream, which will be returned by method {@link #getInputStream}, and - * whose length will be returned by method {@link #getContentLength}. - */ - public RequestWrapper(HttpServletRequest request, ByteArrayInputStream inputStream) - { - super(request); - inputStream_ = new ServletInputStream(inputStream); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see #RequestWrapper(HttpServletRequest, ByteArrayInputStream) - */ - public javax.servlet.ServletInputStream getInputStream() - { - return inputStream_; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see #RequestWrapper(HttpServletRequest, ByteArrayInputStream) - */ - public int getContentLength() - { - return inputStream_.getContentLength(); - } - -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ResponseWrapper.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ResponseWrapper.java deleted file mode 100644 index 420723abb..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ResponseWrapper.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Created on 18.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.filters; - -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpServletResponseWrapper; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class ResponseWrapper extends HttpServletResponseWrapper -{ - private ServletOutputStream outputStream_; - - /* ---------------------------------------------------------------------------------------------------- */ - - public ResponseWrapper(HttpServletResponse response) - { - super(response); - outputStream_ = new ServletOutputStream(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public javax.servlet.ServletOutputStream getOutputStream() - { - return outputStream_; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Returns the wrapped response as a byte array. - * - * @return the response as a byte array. - */ - public byte[] toByteArray() - { - return outputStream_.toByteArray(); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java deleted file mode 100644 index d73dbdfd2..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java +++ /dev/null @@ -1,381 +0,0 @@ -/* - * Created on 18.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.filters; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.CharArrayReader; -import java.io.IOException; -import java.io.Reader; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.commons.fileupload.DiskFileUpload; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileUpload; -import org.apache.commons.fileupload.FileUploadException; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.xerces.parsers.DOMParser; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.beans.ChecksInfoBean; -import at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean; -import at.gv.egovernment.moa.spss.slinterface.beans.SignerInfoBean; -import at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker; -import at.gv.egovernment.moa.spss.slinterface.servlets.SLRequest; -import at.gv.egovernment.moa.spss.slinterface.transformers.MOA2SL; -import at.gv.egovernment.moa.spss.slinterface.transformers.SL2MOA; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class SL2MOAFilter implements Filter -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_FILTERS_); - - private FilterConfig config_; - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) - */ - public void init(FilterConfig config) throws ServletException - { - // Store filter configuration - config_ = config; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, - * javax.servlet.FilterChain) - */ - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException - { - // It is necessary to set the content type header already here, because for any unknown reason setting - // it in the response JSP page has no effects at all. Perhaps any of the filters or the like already - // writes to the response output stream. - HttpServletResponse httpResponse = (HttpServletResponse) response; - httpResponse.setHeader("Content-Type", "text/html; charset=ISO-8859-1"); - - // Create session - HttpSession session = ((HttpServletRequest) request).getSession(true); - - // Check if request is HTTP-POST - checkHttpPost((HttpServletRequest) request); - - // Remember remote IP address for later URL rewriting - session.setAttribute("remoteAddr", request.getRemoteAddr()); - - // Get SL request from content of request - SLRequest slRequest = parseRequest((HttpServletRequest) request); - session.setAttribute("slRequest", slRequest); - - // Schema validate SL request - CharArrayReader slXmlRequestCAR = new CharArrayReader(slRequest.xmlRequest_.toCharArray()); - Document slXMLRequestDoc = parseSlXmlRequest(slXmlRequestCAR); - logger_.debug("Finnished schema validating SL request."); - - // Transform SL request into a MOA SPSS request - Properties initProps = (Properties)config_.getServletContext().getAttribute(Constants.WSCP_INIT_PROPS_); - String trustProfileId = initProps.getProperty(Constants.IP_SP_TRUSTPROFILEID_); - Document moaXMLRequestDoc = SL2MOA.toMoaVerifyXMLSignatureRequest(slXMLRequestDoc, trustProfileId); - ByteArrayOutputStream moaRequestBOS = new ByteArrayOutputStream(); - MOAInvoker.serializeDocument(moaXMLRequestDoc, moaRequestBOS); - logger_.debug("SL request transformed into MOA request:\n" + moaRequestBOS); - ByteArrayInputStream moaRequestIS = new ByteArrayInputStream(moaRequestBOS.toByteArray()); - logger_.debug("Finnished transforming SL request into a MOA SP request."); - - // Invoke MOA SPSS - RequestWrapper requestWrapper = new RequestWrapper((HttpServletRequest) request, moaRequestIS); - ResponseWrapper responseWrapper = new ResponseWrapper((HttpServletResponse) response); - chain.doFilter(requestWrapper, responseWrapper); - logger_.debug("Finnished invoking MOA SP service."); - - // Parse MOA response - DOMParser xmlParser = (DOMParser) config_.getServletContext().getAttribute(Constants.WSCP_XMLPARSER_); - ServletOutputStream moaResponseSOS = (ServletOutputStream) responseWrapper.getOutputStream(); - ByteArrayInputStream moaResponseBIS = new ByteArrayInputStream(moaResponseSOS.toByteArray()); - InputSource responseSource = new InputSource(moaResponseBIS); - Document moaResponseDoc; - try - { - xmlParser.parse(responseSource); - moaResponseDoc = xmlParser.getDocument(); - } - catch (SAXException e) - { - String message = "Parsing MOA XML response failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - logger_.debug("Finnished parsing MOA SP response."); - - // Create bean with info about signed data - try - { - DataInfoBean dataInfo = new DataInfoBean( - moaXMLRequestDoc, - moaResponseDoc, - ((HttpServletRequest) request).getContextPath(), - session, - config_.getServletContext()); - session.setAttribute("dataInfo", dataInfo); - } - catch (Exception e) - { - String message = "Creating DataInfobean failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - logger_.debug("Finnished creating bean with info about signed data."); - - // Transform MOA response into a SL response - Document slResponseDoc; - slResponseDoc = MOA2SL.toSlVerifyXMLSignatureResponse(moaResponseDoc); - session.setAttribute("slResponseDoc", slResponseDoc); - logger_.debug("Finnished transforming MOA SP response into a SL response."); - - // Create bean with info about signer - SignerInfoBean signerInfo = new SignerInfoBean(slResponseDoc); - request.setAttribute("signerInfo", signerInfo); - logger_.debug("Finnished creating bean with info about signer."); - - // Create bean with info about checks - ChecksInfoBean checksInfo = new ChecksInfoBean(slResponseDoc); - request.setAttribute("checksInfo", checksInfo); - logger_.debug("Finnished creating bean with info about checks."); - - // Include jsp page, which writes the overview information about the verified signature - try - { - RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/resultOverview.jsp"); - dispatcher.include(request, response); - } - catch (IOException e) - { - String message = "Failed to create result overview page."; - logger_.error(message, e); - throw new ServletException(message, e); - } - logger_.debug("Finnished SL2MOAFilter."); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see javax.servlet.Filter#destroy() - */ - public void destroy() - { - // Nothing to do here at the moment. - } - - /* ---------------------------------------------------------------------------------------------------- */ - - // TODO Revisit if method can be removed - /* private void initTransformer(ServletContext context, String initPropStylesheetLoc) throws ServletException - { - String stylesheetName = - (Constants.IP_SL2MOA_STYLESHEET_.equals(initPropStylesheetLoc)) - ? "sl2Moa" - : "moa2Sl"; - - String contextAttrName = - (Constants.IP_SL2MOA_STYLESHEET_.equals(initPropStylesheetLoc)) - ? Constants.WSCP_SL2MOA_TRANSFORMER_ - : Constants.WSCP_MOA2SL_TRANSFORMER_; - - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Properties initProps = (Properties) context.getAttribute(Constants.WSCP_INIT_PROPS_); - String stylesheetLoc = initProps.getProperty(initPropStylesheetLoc); - InputStream stylesheetIS = context.getResourceAsStream(stylesheetLoc); - if (stylesheetIS == null) - { - String message = - "Cannot load " + stylesheetName + " stylesheet from location \"" + stylesheetLoc + "\"."; - logger_.error(message); - throw new ServletException(message); - } - Transformer transformer; - try - { - StreamSource stylesheetSS = new StreamSource(stylesheetIS); - transformer = transformerFactory.newTransformer(stylesheetSS); - } - catch (TransformerConfigurationException e) - { - String message = "Cannot create XSLT transformer with " + stylesheetName + " stylesheet."; - logger_.error(message, e); - throw new ServletException(message, e); - } - context.setAttribute(contextAttrName, transformer); - }*/ - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Parses the http request. - */ - private SLRequest parseRequest(HttpServletRequest request) throws IOException - { - SLRequest slRequest = new SLRequest(); - - // Check if request URL ends with "http-security-layer-request" - // @TODO Don't know if this check is sufficient - spec says request URL must have this value as path - String requestURI = request.getRequestURI(); - if (!requestURI.endsWith(Constants.SLC_NAME_HTTP_REQUEST_)) - { - String message = "Request does not end with \"" + Constants.SLC_NAME_HTTP_REQUEST_ + "\"."; - logger_.error(message); - throw new IOException(message); - } - - if (FileUpload.isMultipartContent(request)) - { - // Request is encoded as mulitpart/form-data - List items; - try - { - DiskFileUpload upload = new DiskFileUpload(); - items = upload.parseRequest(request); - } - catch (FileUploadException e) - { - String message = "Cannot parse multipart/form-data request."; - logger_.error(message); - throw new IOException(message); - } - - Iterator itemsIt = items.iterator(); - while (itemsIt.hasNext()) - { - FileItem currItem = (FileItem) itemsIt.next(); - String currItemName = currItem.getFieldName(); - if (Constants.SLC_NAME_XML_REQUEST_.equals(currItemName)) - slRequest.xmlRequest_ = currItem.getString(); - else if (Constants.SLC_NAME_DATA_URL_.equals(currItemName)) - slRequest.dataUrl_ = currItem.getString(); - else if (Constants.SLC_NAME_STYLESHEET_URL_.equals(currItemName)) - slRequest.stylesheetUrl_ = currItem.getString(); - else if (Constants.SLC_NAME_REDIRECT_URL_.equals(currItemName)) - slRequest.redirectUrl_ = currItem.getString(); - else - continue; // @TODO Do not evaluate other params at the moment - } - } - else - { - // Request is encoded as application/x-www-form-urlencoded - Map paramsMap = request.getParameterMap(); - Iterator paramNames = paramsMap.keySet().iterator(); - while (paramNames.hasNext()) - { - String currName = (String) paramNames.next(); - String[] currValues = (String[]) paramsMap.get(currName); - if (Constants.SLC_NAME_XML_REQUEST_.equals(currName)) - slRequest.xmlRequest_ = currValues[0]; - else if (Constants.SLC_NAME_DATA_URL_.equals(currName)) - slRequest.dataUrl_ = currValues[0]; - else if (Constants.SLC_NAME_STYLESHEET_URL_.equals(currName)) - slRequest.stylesheetUrl_ = currValues[0]; - else if (Constants.SLC_NAME_REDIRECT_URL_.equals(currName)) - slRequest.redirectUrl_ = currValues[0]; - else - continue; // @TODO Do not evaluate other params at the moment - } - } - - if (slRequest.xmlRequest_ == null || slRequest.dataUrl_ == null || - slRequest.stylesheetUrl_ != null || slRequest.redirectUrl_ != null) - { - // @TODO Only combination of XMLRequest and DataURL allowed at the moment - String message = "Currently only (XMLRequest + DataURL) is supported."; - logger_.error(message); - throw new IOException(message); - } - - return slRequest; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private Document parseSlXmlRequest(Reader slXmlRequest) throws ServletException - { - // Parse sl request - InputSource slXMLRequestIS = new InputSource(slXmlRequest); - Document slXmlRequestDoc = null; - try - { - DOMParser xmlParser = (DOMParser) config_.getServletContext().getAttribute(Constants.WSCP_XMLPARSER_); - xmlParser.parse(slXMLRequestIS); - slXmlRequestDoc = xmlParser.getDocument(); - } - catch (Exception e) - { - String message = "Parsing Security-Layer request failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - if (logger_.getEffectiveLevel().isGreaterOrEqual(Level.DEBUG)) - { - ByteArrayOutputStream debugOutputStream = new ByteArrayOutputStream(); - try - { - MOAInvoker.serializeDocument(slXmlRequestDoc, debugOutputStream); - logger_.debug("XML-Request received:\n" + debugOutputStream); - } - catch (IOException e) - { - // No debug output if this fails - } - } - - // Check if namespace is correct - String namespaceURI = slXmlRequestDoc.getDocumentElement().getNamespaceURI(); - if (!Constants.NSURI_SL_11_.equals(namespaceURI) && !Constants.NSURI_SL_12_.equals(namespaceURI)) - { - String message = "XML request has invalid namespace: \"" + namespaceURI + "\"."; - logger_.error(message); - throw new ServletException(message); - } - - return slXmlRequestDoc; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private void checkHttpPost(HttpServletRequest request) throws ServletException - { - String method = request.getMethod(); - if (!"POST".equals(method)) - { - String message = "HTTP method \"" + method + "\" not supported. Must be \"POST\"."; - logger_.error(message); - throw new ServletException(message); - } - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletInputStream.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletInputStream.java deleted file mode 100644 index b0609c2f8..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletInputStream.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Created on 19.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.filters; - -import java.io.ByteArrayInputStream; -import java.io.IOException; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class ServletInputStream extends javax.servlet.ServletInputStream -{ - private ByteArrayInputStream inputStream_; - private int length_; - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Generates a new <code>ServletInputStram</code> from the specified stream. - * - * @param inputStream See above. - */ - public ServletInputStream(ByteArrayInputStream inputStream) - { - super(); - inputStream_ = inputStream; - length_ = inputStream_.available(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Reads a single byte from the underlying <code>ByteArrayInputStream</code>. - * - * @see java.io.InputStream#read() - */ - public int read() throws IOException - { - return inputStream_.read(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the length of the content from this input stream. This equals to the number of bytes which where - * available at the time of creating this <code>ServletInputStream</code>. - */ - public int getContentLength() - { - return length_; - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletOutputStream.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletOutputStream.java deleted file mode 100644 index b790ee55c..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletOutputStream.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Created on 18.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.filters; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class ServletOutputStream extends javax.servlet.ServletOutputStream -{ - private ByteArrayOutputStream outputStream_; - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Default constructor. - */ - public ServletOutputStream() - { - super(); - outputStream_ = new ByteArrayOutputStream(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see java.io.OutputStream#write(int) - */ - public void write(int b) throws IOException - { - outputStream_.write(b); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Returns the content of this stream as a byte array. - * - * @return the content of this stream as a byte array. - */ - public byte[] toByteArray() - { - return outputStream_.toByteArray(); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/ContextListener.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/ContextListener.java deleted file mode 100644 index 8b8befb1c..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/ContextListener.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Created on 18.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.listeners; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -import org.apache.log4j.Logger; -import org.apache.xerces.parsers.DOMParser; -import org.apache.xerces.parsers.XMLGrammarPreparser; -import org.apache.xerces.util.SymbolTable; -import org.apache.xerces.util.XMLGrammarPoolImpl; -import org.apache.xerces.xni.grammars.XMLGrammarDescription; -import org.apache.xerces.xni.grammars.XMLGrammarPool; -import org.apache.xerces.xni.parser.XMLInputSource; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.URLRewriter; -import at.gv.egovernment.moa.spss.slinterface.beans.InitPropertiesBean; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class ContextListener implements ServletContextListener -{ - private static final String SAX_NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces"; - private static final String SAX_VALIDATION_FEATURE = "http://xml.org/sax/features/validation"; - - private static final String XERCES_SCHEMA_VALIDATION_FEATURE = - "http://apache.org/xml/features/validation/schema"; - private static final String XERCES_NORMALIZED_VALUE_FEATURE = - "http://apache.org/xml/features/validation/schema/normalized-value"; - private static final String XERCES_INCLUDE_IGNORABLE_WHITESPACE_FEATURE = - "http://apache.org/xml/features/dom/include-ignorable-whitespace"; - private static final String XERCES_CREATE_ENTITY_REF_NODES_FEATURE = - "http://apache.org/xml/features/dom/create-entity-ref-nodes"; - protected static final String XERCES_DEFER_NODE_EXPANSION_ = - "http://apache.org/xml/features/dom/defer-node-expansion"; - protected static final String XERCES_AUGMENT_PSI_ = - "http://apache.org/xml/features/validation/schema/augment-psvi"; - - private static final int BIG_PRIME = 2039; - - private static Logger logger_ = Logger.getLogger(Constants.LH_LISTENERS_); - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Initializes the web application. - * @throws Exception - * - * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) - */ - public void contextInitialized(ServletContextEvent event) - { - logger_.debug("Context is being initialized."); - - ServletContext context = event.getServletContext(); - - String initPropsLoc = System.getProperty(Constants.SP_INIT_PROPS_LOC_); - if (initPropsLoc == null) - { - logger_.fatal("System property \"" + Constants.SP_INIT_PROPS_LOC_ + "\" not set."); - logger_.fatal("Web application initialization failed."); - return; - } - - // Load init properties - try - { - logger_.debug("Init properties location \"" + initPropsLoc + "\" will be used."); - - // Try to interpret init properties location as relative to the web application root - InputStream initPropsIS = context.getResourceAsStream(initPropsLoc); - - if (initPropsIS == null) - { - // If this does not work, try to interpret init properties location as an absolute file system path - initPropsIS = new FileInputStream(initPropsLoc); - } - - Properties initProps = new Properties(); - initProps.load(initPropsIS); - context.setAttribute(Constants.WSCP_INIT_PROPS_, initProps); - - // Prepare application bean knowing about init properties - InitPropertiesBean initPropsBean = new InitPropertiesBean(initProps); - context.setAttribute(Constants.WSCP_INITPROPS_BEAN_, initPropsBean); - } - catch (IOException e) - { - logger_.fatal("Cannot load initialization properties from location \"" + initPropsLoc + "\".", e); - logger_.fatal("Web application initialization failed."); - return; - } - - // Put helper object for rewriting URLs in the result page into the context - URLRewriter urlRewriter = new URLRewriter((Properties)context.getAttribute(Constants.WSCP_INIT_PROPS_)); - context.setAttribute(Constants.WSCP_URL_REWRITER_, urlRewriter); - - // Initialize XML parser - SymbolTable symbolTable = new SymbolTable(BIG_PRIME); - XMLGrammarPool grammarPool = new XMLGrammarPoolImpl(); - - XMLGrammarPreparser preparser = new XMLGrammarPreparser(symbolTable); - preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null); - preparser.setProperty(org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX - + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY, grammarPool); - preparser.setFeature(SAX_NAMESPACES_FEATURE, true); - preparser.setFeature(SAX_VALIDATION_FEATURE, true); - - // Schema for Security-Layer 1.2 alpha (including LocRefContent) - Properties initProps = (Properties) context.getAttribute(Constants.WSCP_INIT_PROPS_); - String slSchemaLoc = initProps.getProperty(Constants.IP_SL_SCHEMA_); - if (!preparseSchema(context, preparser, slSchemaLoc)) - { - logger_.fatal("Web application initialization failed."); - return; - } - - // Schema for MOA 1.2 - String moaSchemaLoc = initProps.getProperty(Constants.IP_MOA_SCHEMA_); - if (!preparseSchema(context, preparser, moaSchemaLoc)) - { - logger_.fatal("Web application initialization failed."); - return; - } - - // Schema for SLXHTML 1.0 - String slxhtmlSchemaLoc = initProps.getProperty(Constants.IP_SLXHTML_SCHEMA_); - if (!preparseSchema(context, preparser, slxhtmlSchemaLoc)) - { - logger_.fatal("Web application initialization failed."); - return; - } - - - // TODO parser is not threadsafe - DOMParser xmlParser = new DOMParser(symbolTable, grammarPool); - try - { - xmlParser.setFeature(SAX_NAMESPACES_FEATURE, true); - xmlParser.setFeature(SAX_VALIDATION_FEATURE, true); - xmlParser.setFeature(XERCES_SCHEMA_VALIDATION_FEATURE, true); - xmlParser.setFeature(XERCES_NORMALIZED_VALUE_FEATURE, false); - xmlParser.setFeature(XERCES_INCLUDE_IGNORABLE_WHITESPACE_FEATURE, true); - xmlParser.setFeature(XERCES_CREATE_ENTITY_REF_NODES_FEATURE, false); - xmlParser.setFeature(XERCES_DEFER_NODE_EXPANSION_, true); - xmlParser.setFeature(XERCES_AUGMENT_PSI_, false); - xmlParser.setErrorHandler(new XMLParserErrorHandler(false, true, true)); - } - catch (SAXException e) - { - String message = "Initialization of XML parser failed."; - logger_.fatal(message, e); - logger_.fatal("Web application initialization failed."); - return; - } - context.setAttribute(Constants.WSCP_XMLPARSER_, xmlParser); - - String message = "Web application initialization succeeded."; - logger_.info(message); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Does some clean up at finalization of the web application. - * - * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) - */ - public void contextDestroyed(ServletContextEvent event) - { - // Remove init properties from web service context - Properties initProps = (Properties) event.getServletContext().getAttribute(Constants.WSCP_INIT_PROPS_); - if (initProps != null) event.getServletContext().removeAttribute(Constants.WSCP_INIT_PROPS_); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private boolean preparseSchema(ServletContext context, XMLGrammarPreparser preparser, String schemaLoc) - { - InputStream schemaIS = context.getResourceAsStream(schemaLoc); - if (schemaIS == null) - { - String message = "Cannot load schema from location \"" + schemaLoc + "\"."; - logger_.fatal(message); - return false; - } - try - { - String schemaSystemId = context.getResource(schemaLoc).toExternalForm(); - preparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA, - new XMLInputSource(null, schemaSystemId, null, schemaIS, null)); - } - catch (Exception e) - { - String message = "Parsing schema loaded from location \"" + schemaLoc + "\" failed."; - logger_.fatal(message, e); - return false; - } - return true; - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/XMLParserErrorHandler.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/XMLParserErrorHandler.java deleted file mode 100644 index 496d0aadb..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/XMLParserErrorHandler.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Created on 02.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.listeners; - -import org.apache.log4j.Logger; -import org.xml.sax.ErrorHandler; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -import at.gv.egovernment.moa.spss.slinterface.Constants; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class XMLParserErrorHandler implements ErrorHandler -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_LISTENERS_XMLPARSER_); - - private boolean reportWarning_, reportError_, reportFatal_; - - /* ---------------------------------------------------------------------------------------------------- */ - - public XMLParserErrorHandler(boolean reportWarning, boolean reportError, boolean reportFatal) - { - reportWarning_ = reportWarning; - reportError_ = reportError; - reportFatal_ = reportFatal; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException) - */ - public void warning(SAXParseException exception) throws SAXException - { - logger_.warn("XML parser reported a warning.", exception); - if (reportWarning_) throw exception; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException) - */ - public void error(SAXParseException exception) throws SAXException - { - logger_.error("XML parser reported an error.", exception); - if (reportError_) throw exception; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException) - */ - public void fatalError(SAXParseException exception) throws SAXException - { - logger_.error("XML parser reported a fatal error.", exception); - if (reportFatal_) throw exception; - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/moainvoker/MOAInvoker.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/moainvoker/MOAInvoker.java deleted file mode 100644 index e89d255f0..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/moainvoker/MOAInvoker.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Created on 19.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.moainvoker; - -import java.io.IOException; -import java.io.OutputStream; -import java.rmi.RemoteException; -import java.util.Vector; - -import javax.xml.namespace.QName; -import javax.xml.rpc.Call; -import javax.xml.rpc.Service; -import javax.xml.rpc.ServiceException; -import javax.xml.rpc.ServiceFactory; - -import org.apache.axis.message.SOAPBodyElement; -import org.apache.xml.serialize.OutputFormat; -import org.apache.xml.serialize.XMLSerializer; -import org.w3c.dom.Document; - -import at.gv.egovernment.moa.spss.slinterface.Constants; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class MOAInvoker -{ - /** - * Invokes MOA SP. - * - * @param request The XML request to be sent to MOA SP. - * - * @param endpoint The endpoint of the SOAP service where to send the XML request to. - * - * @return the XML response from the service. - * - * @throws Exception if getting the XML response from the SOAP response body fails. - * - * @throws RemoteException if MOA SP signals an error. - * - * @throws ServiceException if the SOAP client invoking MOA SP signals an error. - */ - public static Document invokeSP(Document request, String endpoint) - throws Exception, RemoteException, ServiceException - { - QName serviceQName = new QName(Constants.MI_SP_QNAME_); - return invoke(request, endpoint, serviceQName); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private static Document invoke(Document request, String endpoint, QName serviceQName) throws Exception - { - // Instantiate AXIS service - Service service = ServiceFactory.newInstance().createService(serviceQName); - - // Create and configure service call - Call call = service.createCall(); - call.setTargetEndpointAddress(endpoint); - - // Create SOAP body - SOAPBodyElement body = new SOAPBodyElement(request.getDocumentElement()); - SOAPBodyElement[] params = new SOAPBodyElement[] {body}; - - // Make call - Vector responses = (Vector) call.invoke(params); - - // Get response - SOAPBodyElement responseBody = (SOAPBodyElement) responses.get(0); - Document response = responseBody.getAsDocument(); - return response; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static void serializeDocument(Document doc, OutputStream out) throws IOException - { - OutputFormat format = new OutputFormat(doc); - - format.setLineSeparator("\n"); - format.setIndenting(false); - format.setPreserveSpace(true); - format.setOmitXMLDeclaration(false); - format.setEncoding("UTF-8"); - - XMLSerializer serializer = new XMLSerializer(out, format); - serializer.serialize(doc); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java deleted file mode 100644 index 1f82540bb..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Created on 01.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.servlets; - -import java.io.FileInputStream; -import java.io.OutputStream; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.log4j.Logger; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.Utils; -import at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class HashInputDataServlet extends HttpServlet -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_SERVLETS_); - - /** - * Default constructor. - */ - public HashInputDataServlet() - { - super(); - } - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException - { - // Get DataInfoBean object from session - HttpSession session = request.getSession(false); - if (session == null) - { - String message = "No session available."; - logger_.error(message); - throw new ServletException(message); - } - DataInfoBean dataInfo = (DataInfoBean) session.getAttribute("dataInfo"); - - // Get parameter inicating which hash input data file to show - String hidCountStr = request.getParameter("hidCount"); - if (hidCountStr == null) - { - String message = "Parameter \"hidCount\" not available in request."; - logger_.error(message); - throw new ServletException(message); - } - int hidCount = -1; - try - { - hidCount = Integer.parseInt(hidCountStr); - } - catch (NumberFormatException e) - { - String message = "Parameter \"hidCount\" (\"" + hidCount + "\") is not a valid string representation of an integer."; - logger_.error(message, e); - throw new ServletException(message, e); - } - - // Get file name of temporary HID file - dataInfo.setHashInputDataCount(hidCount); - String hidFilename = dataInfo.getHashInputDataFilename(); - - // Set content type - boolean isSLXHTML = dataInfo.getIsSLXHTMLDocument(); - String contenType = (isSLXHTML) ? "text/html;charset=utf-8" : "application/octet-stream"; - response.setContentType(contenType); - - // Write content from temporary HID file to response OS - try - { - FileInputStream hidFIS = new FileInputStream(hidFilename); - OutputStream responseOS = response.getOutputStream(); - Utils.transferStreams(hidFIS, responseOS); - } - catch (Exception e) - { - String message = "Writing hash input data to response stream failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/MOAServlet.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/MOAServlet.java deleted file mode 100644 index 362793064..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/MOAServlet.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Created on 19.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.servlets; - -import java.io.IOException; -import java.rmi.RemoteException; -import java.util.Properties; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.xml.rpc.ServiceException; - -import org.apache.log4j.Logger; -import org.apache.xerces.parsers.DOMParser; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class MOAServlet extends HttpServlet -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_SERVLETS_); - - /** - * Default constructor. - */ - public MOAServlet() - { - super(); - } - - public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException - { - // Get moa request form http request - Document moaXmlRequest = null; - DOMParser xmlParser = (DOMParser) this.getServletContext().getAttribute(Constants.WSCP_XMLPARSER_); - try - { - InputSource requestIS = new InputSource(request.getInputStream()); - xmlParser.parse(requestIS); - moaXmlRequest = xmlParser.getDocument(); - } - catch (IOException ioe) - { - String message = "Getting MOA XML request from http request input failed."; - logger_.error(message, ioe); - throw new ServletException(message, ioe); - } - catch (SAXException se) - { - String message = "Parsing MOA XML request got from http request failed."; - logger_.error(message, se); - throw new ServletException(message, se); - } - - // Send request to MOA SP - Properties initProps = (Properties) this.getServletContext().getAttribute(Constants.WSCP_INIT_PROPS_); - String endPoint = initProps.getProperty(Constants.IP_SP_ENDPOINT_); - if (endPoint == null) - { - String message = "No endpoint configured for MOA SP service."; - logger_.error(message); - throw new ServletException(message); - } - Document moaXMLResponseDoc = null; - try - { - moaXMLResponseDoc = MOAInvoker.invokeSP(moaXmlRequest, endPoint); - } - catch (Exception e) - { - String message; - if (e instanceof RemoteException) - { - message = "MOA SP service indicated an error at request execution."; - } - else if (e instanceof ServiceException) - { - message = "MOA SP client indicated an error at request execution."; - } - else - { - message = "Could not create DOM Document from MOA SP service response."; - } - logger_.error(message, e); - throw new ServletException(message, e); - } - logger_.debug("Got response from MOA SP service."); - - // Write moa response to http response - try - { - MOAInvoker.serializeDocument(moaXMLResponseDoc, response.getOutputStream()); - } - catch (IOException e) - { - String message = "Writing MOA SP XML response to http response failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - logger_.debug("Wrote response from MOA SP service to http response outputstream."); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/ReturnServlet.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/ReturnServlet.java deleted file mode 100644 index 84ce26be0..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/ReturnServlet.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Created on 25.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.servlets; - -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; -import java.net.URLConnection; - -import javax.servlet.ServletException; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.log4j.Logger; -import org.w3c.dom.Document; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.Utils; -import at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class ReturnServlet extends HttpServlet -{ - - private static Logger logger_ = Logger.getLogger(Constants.LH_SERVLETS_); - - /** - * Default constructor. - */ - public ReturnServlet() - { - super(); - } - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException - { - // Get session - HttpSession session = request.getSession(false); - if (session == null) - { - String message = "No session available."; - logger_.error(message); - throw new ServletException(message); - } - - // Get original SL request from session - SLRequest slRequest = (SLRequest) session.getAttribute("slRequest"); - if (slRequest == null) - { - String message = "Session object \"slRequest\" not available."; - logger_.error(message); - throw new ServletException(message); - } - - // Get SL response from session - Document slResponseDoc = (Document) session.getAttribute("slResponseDoc"); - if (slResponseDoc == null) - { - String message = "Session object \"slResponseDoc\" not available."; - logger_.error(message); - throw new ServletException(message); - } - - URLConnection dataURLConn; - try - { - // TODO Does not conform to SL/Bindings/sec. 3.3.2.2 - - // Open connection to DataURL - URL dataURL = new URL(slRequest.dataUrl_); - dataURLConn = dataURL.openConnection(); - dataURLConn.setDoOutput(true); - OutputStream dataURLOS = dataURLConn.getOutputStream(); - MOAInvoker.serializeDocument(slResponseDoc, dataURLOS); - dataURLOS.flush(); - } - catch (Exception e) - { - String message = "Sending SL XML response to DataURL failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - - // Forward response from DataURL to client - forwardResponse(dataURLConn, response); - - session.invalidate(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private void forwardResponse(URLConnection dataURLConn, ServletResponse response) throws ServletException - { - // TODO Does not conform to SL/Bindings/sec. 3.3.2.1 - - // Make sure that content type of DataURL response is text/html - String dataURLContentType = dataURLConn.getContentType(); - if (dataURLContentType == null || !dataURLContentType.startsWith("text/html")) - { - String message = "Unsupported content type of DataURL response: \"" + dataURLContentType + "\"."; - logger_.error(message); - throw new ServletException(message); - } - - try - { - InputStream dataURLIS = dataURLConn.getInputStream(); - byte[] dataURLResponse = Utils.readFromInputStream(dataURLIS); - response.setContentType("text/html"); - OutputStream responseOS = response.getOutputStream(); - responseOS.write(dataURLResponse); - responseOS.flush(); - } - catch (Exception e) - { - String message = "Forwarding DataURL response to client failed."; - logger_.error(message, e); - throw new ServletException(message, e); - } - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/SLRequest.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/SLRequest.java deleted file mode 100644 index 3c19d5ff6..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/SLRequest.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Created on 25.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.servlets; - -/** - * Helper class, representing the fields of a Security-Layer request. - * - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class SLRequest -{ - public String xmlRequest_; - public String dataUrl_; - public String stylesheetUrl_; - public String redirectUrl_; -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/MOA2SL.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/MOA2SL.java deleted file mode 100644 index 2e82d4d32..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/MOA2SL.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Created on 20.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.transformers; - -import java.util.ArrayList; -import java.util.HashMap; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.slinterface.Constants; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class MOA2SL -{ - /** - * Transforms an MOA VerifyXMLSignatureResponse into a SL VerifyXMLSignatureResponse. - * - * @param moaVerifyXMLSignatureResponse The MOA VerifyXMLSignatureResponse to be transformed. - * - * @return the specified response document, transformed into a SL VerifyXMLSignatureResponse. Please note - * that <code>moaVerifyXMLSignatureResponse</code> is modified into the sl response. - * - * @pre moaVerifyXMLSignatureResponse is a valid instance of the SL Schema (version 1.2 or 1.1). - */ - public static Document toSlVerifyXMLSignatureResponse(Document moaVerifyXMLSignatureResponse) - { - // Namespace to namespace prefix mapping - HashMap prefixMap = new HashMap(4); - prefixMap.put(Constants.NSURI_SL_10_, Constants.NSPRE_SL_10_); - prefixMap.put(Constants.NSURI_SL_11_, Constants.NSPRE_SL_11_); - prefixMap.put(Constants.NSURI_SL_12_, Constants.NSPRE_SL_12_); - prefixMap.put(Constants.NSURI_MOA_12_, Constants.NSPRE_MOA_12_); - - // Namespaces to be changed - HashMap nsTransforms = new HashMap(); - nsTransforms.put(Constants.NSURI_MOA_12_, Constants.NSURI_SL_11_); - - // Names to be changed - HashMap nameTransforms = new HashMap(); - nameTransforms.put( - new QName(Constants.NSURI_MOA_12_, "PublicAuthority"), - new QName(Constants.NSURI_MOA_12_,"PublicAuthority")); - - Element verifyResponseElem = moaVerifyXMLSignatureResponse.getDocumentElement(); - verifyResponseElem.setAttributeNS(Constants.NSURI_NAMESPACES_, - "xmlns:" + Constants.NSPRE_SL_10_, Constants.NSURI_SL_10_); - verifyResponseElem.setAttributeNS(Constants.NSURI_NAMESPACES_, - "xmlns:" + Constants.NSPRE_SL_11_, Constants.NSURI_SL_11_); - - // Convert SL request into MOA request - verifyResponseElem = - Utils.transformDeep(verifyResponseElem, prefixMap, nsTransforms, nameTransforms); - - // Add SignatureManifestCheck element (Code = 98) - Element signatureMFCheckElem = moaVerifyXMLSignatureResponse.createElementNS( - Constants.NSURI_SL_11_, Constants.NSPRE_SL_11_ + ":SignatureManifestCheck"); - Element smfCodeElem = moaVerifyXMLSignatureResponse.createElementNS( - Constants.NSURI_SL_11_, Constants.NSPRE_SL_11_ + ":Code"); - signatureMFCheckElem.appendChild(smfCodeElem); - smfCodeElem.appendChild(moaVerifyXMLSignatureResponse.createTextNode("98")); - Element signatureCheckElem = (Element) verifyResponseElem.getElementsByTagNameNS( - Constants.NSURI_SL_11_, "SignatureCheck").item(0); - verifyResponseElem.insertBefore(signatureMFCheckElem, signatureCheckElem.getNextSibling()); - - // Siblings of Certificate check must be in sl10 namespace - nsTransforms.clear(); - nsTransforms.put(Constants.NSURI_SL_11_, Constants.NSURI_SL_10_); - nameTransforms.clear(); - Element certCheckElem = (Element) verifyResponseElem.getElementsByTagNameNS( - Constants.NSURI_SL_11_, "CertificateCheck").item(0); - NodeList certCheckChildren = certCheckElem.getChildNodes(); - ArrayList certCheckChildElemsList = new ArrayList(certCheckChildren.getLength()); - for (int i = 0; i < certCheckChildren.getLength(); i++) - { - Node currentNode = certCheckChildren.item(i); - if (currentNode.getNodeType() == Node.ELEMENT_NODE) - certCheckChildElemsList.add(certCheckChildren.item(i)); - } - for (int i = 0; i < certCheckChildElemsList.size(); i++) - Utils.transformDeep((Element) certCheckChildElemsList.get(i), prefixMap, nsTransforms, - nameTransforms); - - return moaVerifyXMLSignatureResponse; - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/QName.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/QName.java deleted file mode 100644 index 6da0c433f..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/QName.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Created on 20.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.transformers; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class QName -{ - public String nsUrl_; - public String localName_; - - /* ---------------------------------------------------------------------------------------------------- */ - - public QName(String nsUrl, String localName) - { - nsUrl_ = nsUrl; - localName_ = localName; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public boolean equals(Object o) - { - if (o == null) return false; - if (o instanceof QName) - { - QName toBeCompared = (QName) o; - - boolean nsURLEquals = (nsUrl_ == null) - ? toBeCompared.nsUrl_ == null - : nsUrl_.equals(toBeCompared.nsUrl_); - boolean localNameEquals = (localName_ == null) - ? toBeCompared.localName_ == null - : localName_.equals(toBeCompared.localName_); - - return nsURLEquals && localNameEquals; - } - return false; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public int hashCode() - { - return new String(nsUrl_ + localName_).hashCode(); - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/SL2MOA.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/SL2MOA.java deleted file mode 100644 index eec295bab..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/SL2MOA.java +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Created on 20.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.transformers; - -import java.io.InputStream; -import java.net.URL; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.GregorianCalendar; -import java.util.HashMap; -import java.util.StringTokenizer; - -import javax.servlet.ServletException; - -import org.apache.log4j.Logger; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.DOMUtils; -import at.gv.egovernment.moa.spss.slinterface.XPathUtils; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@siemens.com) - */ -public class SL2MOA -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_TRANSFORMERS_); - - /** - * Transforms an SL <code>VerifyXMLSignatureRequest</code> into a MOA <code>VerifyXMLSignatureRequest - * </code> and makes the following additions to the resulting <code>VerifyXMLSignatureRequest</code>: - * <ul> - * <li>Insertion of a <code>DateTime</code> element to MOA <code>VerifyXMLSignatureRequest</code>, if no - * one exists and if no <code>etsi:SigningTime</code> element exists in the xml signature of the MOA - * VerifyXMLSinatureRequest</li> and if the creation time meta information could be extracted - * successfully from the E-Recht XML document signed by the XML signature contained in the - * MOA <code>VerifyXMLSignatureRequest</code> (see @link #extractXMLDocCreationTime(Element)).<li> - * - * <li>Addition of the <code>ReturnHashInputData</code> element indicating that MOA SP should return - * the hash input data for each <code>dsig:Reference</code> of the XML signature.</li> - * - * <li>Addition of the obligatory <code>TrustProfileID</code> element indicating the trust profile - * MOA ID should use for evaluating wheter the signer certificate used for creating the XML signature - * contained in the MOA <code>VerifyXMLSignatureRequest</code> is trusted.</li> - * </ul> - * - * @param slVerifyXMLSignatureRequest The SL VerifyXMLSignatureRequest to be transformed. - * - * @return the specified request document, transformed into a MOA VerifyXMLSignatureRequest. Please note - * that <code>slVerifyXMLSignatureRequest</code> is modified into the moa request. - * - * @pre slVerifyXMLSignatureRequest is a valid instance of the SL Schema (version 1.2 or 1.1). - * - * @throws ServletException if transforming the request fails for any reason. - */ - public static Document toMoaVerifyXMLSignatureRequest(Document slVerifyXMLSignatureRequest, - String trustProfileID) throws ServletException - { - // Namespace to namespace prefix mapping - HashMap prefixMap = new HashMap(4); - prefixMap.put(Constants.NSURI_SL_10_, Constants.NSPRE_SL_10_); - prefixMap.put(Constants.NSURI_SL_11_, Constants.NSPRE_SL_11_); - prefixMap.put(Constants.NSURI_SL_12_, Constants.NSPRE_SL_12_); - prefixMap.put(Constants.NSURI_MOA_12_, Constants.NSPRE_MOA_12_); - - // Namespaces to be changed - HashMap nsTransforms = new HashMap(); - nsTransforms.put(Constants.NSURI_SL_10_, Constants.NSURI_MOA_12_); - nsTransforms.put(Constants.NSURI_SL_11_, Constants.NSURI_MOA_12_); - nsTransforms.put(Constants.NSURI_SL_12_, Constants.NSURI_MOA_12_); - - // Names to be changed - HashMap nameTransforms = new HashMap(); - nameTransforms.put( - new QName(Constants.NSURI_SL_11_, "SignatureInfo"), - new QName(Constants.NSURI_MOA_12_,"VerifySignatureInfo")); - nameTransforms.put( - new QName(Constants.NSURI_SL_12_, "SignatureInfo"), - new QName(Constants.NSURI_MOA_12_,"VerifySignatureInfo")); - nameTransforms.put( - new QName(Constants.NSURI_SL_11_, "SignatureEnvironment"), - new QName(Constants.NSURI_MOA_12_,"VerifySignatureEnvironment")); - nameTransforms.put( - new QName(Constants.NSURI_SL_12_, "SignatureEnvironment"), - new QName(Constants.NSURI_MOA_12_,"VerifySignatureEnvironment")); - nameTransforms.put( - new QName(Constants.NSURI_SL_11_, "SignatureLocation"), - new QName(Constants.NSURI_MOA_12_,"VerifySignatureLocation")); - nameTransforms.put( - new QName(Constants.NSURI_SL_12_, "SignatureLocation"), - new QName(Constants.NSURI_MOA_12_,"VerifySignatureLocation")); - nameTransforms.put( - new QName(Constants.NSURI_SL_11_, "Supplement"), - new QName(Constants.NSURI_MOA_12_,"SupplementProfile")); - nameTransforms.put( - new QName(Constants.NSURI_SL_12_, "Supplement"), - new QName(Constants.NSURI_MOA_12_,"SupplementProfile")); - - Element verifyRequestElem = slVerifyXMLSignatureRequest.getDocumentElement(); - verifyRequestElem.setAttributeNS(Constants.NSURI_NAMESPACES_, - "xmlns:" + Constants.NSPRE_MOA_12_, Constants.NSURI_MOA_12_); - - // Convert SL request into MOA request - verifyRequestElem = Utils.transformDeep(verifyRequestElem, prefixMap, nsTransforms, nameTransforms); - - // Add DateTime element to MOA VerifyXMLSignature request, if - // - no one exists and - // - no etsi:SigningTime element exists in the xml signature of the MOA VerifyXMLSinatureRequest - if (!dateTimeExists(verifyRequestElem) && !signingTimeExists(verifyRequestElem)) - { - // Extract creation date meta information from E-Recht XML document for use in MOA VerifyXMLSignature request - String dateTimeStr = extractXMLDocCreationTime(verifyRequestElem); - - if (dateTimeStr != null) - { - // Creation date meta information could be extracted successfully from E-Recht XML document - Element dateTimeElem = slVerifyXMLSignatureRequest.createElementNS( - Constants.NSURI_MOA_12_, Constants.NSPRE_MOA_12_ + ":DateTime"); - dateTimeElem.appendChild(slVerifyXMLSignatureRequest.createTextNode(dateTimeStr)); - Element verifySignatureInfoElem = DOMUtils.getChildElem(verifyRequestElem, Constants.NSURI_MOA_12_, "VerifySignatureInfo"); - verifyRequestElem.insertBefore(dateTimeElem, verifySignatureInfoElem); - } - else - { - logger_.warn("Could not extract creation date meta information from E-Recht XML document."); - } - } - - // Add ReturnHashInputData element - Element returnHashInputDataElem = slVerifyXMLSignatureRequest.createElementNS( - Constants.NSURI_MOA_12_, Constants.NSPRE_MOA_12_ + ":ReturnHashInputData"); - verifyRequestElem.appendChild(returnHashInputDataElem); - - // Add trust profile ID element - Element trustProfileIDElem = slVerifyXMLSignatureRequest.createElementNS( - Constants.NSURI_MOA_12_, Constants.NSPRE_MOA_12_ + ":TrustProfileID"); - trustProfileIDElem.appendChild(slVerifyXMLSignatureRequest.createTextNode(trustProfileID)); - verifyRequestElem.appendChild(trustProfileIDElem); - - return slVerifyXMLSignatureRequest; - } - - /** - * Extracts the creation time meta information from the E-Recht XML document that is referenced by - * the XML signature contained in the specified MOA <code>VerifyXMLSignatureRequest</code>. - * - * @param verifyRequestElem The MOA <code>VerifyXMLSignatureRequest</code>. It is assumed that the - * request contains an XML signature which signs a E-Recht XML document - * (referring to the E-Recht XML document and transforming it to a corresponding - * XHTML representation respectively). The E-Recht XML document is assumed to - * have a root element with the name <code>erechtdok</code> in the namespace - * <code>http://www.bka.gv.at</code>. The creation time meta information is - * assumed to be contained in the attribute <code>h-created</code> of the root - * element. The value of the attribute <code>h-created</code> is assumed to have - * the format <code>dd. MMMMM yyyy, hh:mm:ss</code> where MMMMM denotes the month - * in German prose (see @link #convertMonth(String)). - * - * @return the extracted creation time meta information, or <code>null</code>, if the extraction fails for - * any reason. - */ - private static String extractXMLDocCreationTime(Element verifyRequestElem) - { - - // Get E-Recht XML document using location information in MOA VerifyXMLSignature request - String nSPrefixes = Constants.NSPRE_MOA_12_ + " " + Constants.NSURI_MOA_12_; - String xPathXMLDocumentLocContent = - "//" + Constants.NSPRE_MOA_12_ + ":SupplementProfile" + - "/" + Constants.NSPRE_MOA_12_ + ":Content[@Reference=\"dokument.xml\"]" + - "/" + Constants.NSPRE_MOA_12_ + ":LocRefContent"; - Document xmlDocument = null; - try - { - XPathUtils utils = new XPathUtils(); - utils.setupContext(xPathXMLDocumentLocContent, verifyRequestElem, nSPrefixes); - NodeList resultNL = utils.selectNodeSet(verifyRequestElem); - - if (resultNL == null || resultNL.getLength() < 1) - { - logger_.warn("LocRefContent element for E-Recht XML document not found in MOA VerifyXMLSignatureRequest."); - return null; - } - - URL locRefURL = new URL(DOMUtils.getText((Element) resultNL.item(0))); - InputStream locRefURLIS = locRefURL.openStream(); - xmlDocument = DOMUtils.parseWellFormed(locRefURLIS); - } - catch (Exception e) - { - String message = "An error occurred while trying to load E-Recht XML document:"; - logger_.warn(message, e); - return null; - } - - // Extract attribute "h-created" from E-Recht XML document root element - String hCreated = xmlDocument.getDocumentElement().getAttributeNS(null, "h-created"); - if (hCreated == null || "".equals(hCreated)) - { - logger_.warn("Attribute \"h-created\" not found in E-Recht XML document root element."); - return null; - } - - // Convert attribute "h-created" into a java date ("h-created" has formats like "10. März 2006, 11:15:09") - try - { - String dateStr = hCreated.substring(0, hCreated.indexOf(',')).trim(); - String timeStr = hCreated.substring(hCreated.indexOf(',') + 1).trim(); - - StringTokenizer tokenizer = new StringTokenizer(dateStr, " "); - String dateDayStr = tokenizer.nextToken(); - int dateDay = Integer.parseInt(dateDayStr.substring(0, dateDayStr.indexOf('.'))); - String dateMonthAlphaStr = tokenizer.nextToken(); - int dateMonthNum = convertMonth(dateMonthAlphaStr); - int dateYear = Integer.parseInt(tokenizer.nextToken()); - - tokenizer = new StringTokenizer(timeStr, ":"); - int timeHours = Integer.parseInt(tokenizer.nextToken()); - int timeMins = Integer.parseInt(tokenizer.nextToken()); - int timeSecs = Integer.parseInt(tokenizer.nextToken()); - - GregorianCalendar calendar = new GregorianCalendar(dateYear, dateMonthNum, dateDay, timeHours, timeMins, timeSecs); - SimpleDateFormat dF = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); - return dF.format(calendar.getTime()); - } - catch (Throwable t) - { - logger_.warn("Attribute \"h-created\" in E-Recht XML document root element has unexpected format: " + hCreated); - return null; - } - } - - /** - * Converts the specified month name into a numeric representation as specified in @link Calendar, e.g. - * @link Calendar#JANUARY. - * - * @param dateMonthAlphaStr The specified month name; must be one of <code>Jänner</code>, <code>Januar</code>, - * <code>Februar</code>, <code>Feber</code>, <code>März</code>, <code>April</code>, - * <code>Mai</code>, <code>Juni</code>, <code>Juli</code>, <code>August</code>, - * <code>September</code>, <code>Oktober</code>, <code>November</code>, or - * <code>Dezember</code>. - * - * @return the numeric representation of the specified month. - * - * @throws Exception if <code>dateMonthAlphaStr</code> contains an invalid month name. - */ - private static int convertMonth(String dateMonthAlphaStr) throws Exception - { - if ("Jänner".equalsIgnoreCase(dateMonthAlphaStr) || "Januar".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.JANUARY; - if ("Februar".equalsIgnoreCase(dateMonthAlphaStr) || "Feber".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.FEBRUARY; - if ("März".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.MARCH; - if ("April".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.APRIL; - if ("Mai".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.MAY; - if ("Juni".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.JUNE; - if ("Juli".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.JULY; - if ("August".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.AUGUST; - if ("September".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.SEPTEMBER; - if ("Oktober".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.OCTOBER; - if ("November".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.NOVEMBER; - if ("Dezember".equalsIgnoreCase(dateMonthAlphaStr)) return Calendar.DECEMBER; - - String message = "Invalid month identifier found in attribute \"h-created\":" + dateMonthAlphaStr; - logger_.warn(message); - throw new Exception(message); - } - - /** - * Checks wheter a <code>DateTime</code> element exists in the specified MOA <code> - * VerifyXMLSignatureRequest</code>. - * - * @param moaVerifyXMLSignatureRequest The MOA <code>VerifyXMLSingatureRequest</code>. - * - * @return <code>true</code> if the element exists, <code>false</code> otherwhise. - * - * @throws ServletException if the check fails for any reason. - */ - private static boolean dateTimeExists(Element moaVerifyXMLSignatureRequest) throws ServletException - { - String nSPrefixes = Constants.NSPRE_MOA_12_ + " " + Constants.NSURI_MOA_12_; - String xPathDateTime = "//" + Constants.NSPRE_MOA_12_ + ":DateTime"; - - NodeList resultNL; - try - { - XPathUtils utils = new XPathUtils(); - utils.setupContext(xPathDateTime, moaVerifyXMLSignatureRequest, nSPrefixes); - resultNL = utils.selectNodeSet(moaVerifyXMLSignatureRequest); - } - catch (Exception e) - { - String message = "An error occurred while checking for DateTime element in MOA VerifyXMLSignatureRequest:"; - logger_.error(message, e); - throw new ServletException(message, e); - } - - if (resultNL == null) return false; - if (resultNL.getLength() < 1) return false; - return true; - } - - /** - * Checks whether an <code>etsi:SigningTime</code> signed attribute exists as part of the XML signature - * contained in the specified MOA <code>VerifyXMLSingatureRequest</code>. - * - * @param moaVerifyXMLSignatureRequest The MOA <code>VerifyXMLSingatureRequest</code>. - * - * @return <code>true</code>, if the attribute exists, <code>false</code> otherwhise. - * - * @throws ServletException if the check fails for any reason. - */ - private static boolean signingTimeExists(Element moaVerifyXMLSignatureRequest) throws ServletException - { - String nSPrefixes = Constants.NSPRE_ETSI_ + " " + Constants.NSURI_ETSI_; - String xPathDateTime = "//" + Constants.NSPRE_ETSI_ + ":SigningTime"; - - NodeList resultNL; - try - { - XPathUtils utils = new XPathUtils(); - utils.setupContext(xPathDateTime, moaVerifyXMLSignatureRequest, nSPrefixes); - resultNL = utils.selectNodeSet(moaVerifyXMLSignatureRequest); - } - catch (Exception e) - { - String message = "An error occurred while checking for " + Constants.NSPRE_ETSI_ + ":SigningTime element in XML signature in MOA VerifyXMLSignatureRequest:"; - logger_.error(message, e); - throw new ServletException(message, e); - } - - if (resultNL == null) return false; - if (resultNL.getLength() < 1) return false; - return true; - } -} diff --git a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/Utils.java b/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/Utils.java deleted file mode 100644 index d03895efe..000000000 --- a/spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/Utils.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Created on 20.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.spss.slinterface.transformers; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import org.apache.xerces.dom.DocumentImpl; -import org.w3c.dom.Attr; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.traversal.DocumentTraversal; -import org.w3c.dom.traversal.NodeFilter; -import org.w3c.dom.traversal.NodeIterator; - -import at.gv.egovernment.moa.spss.slinterface.Constants; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class Utils -{ - /** - * - * @param elem - * @param prefixes - * @param namespaces - * @param names - * - * @pre <code>elem</code> is backed by a <code>org.apache.xerces.dom.DocumentImpl</code>. - */ - public static Element transformDeep(Element elem, Map prefixes, Map namespaces, Map names) - { - // Get node iterator for element - DocumentTraversal docTraversal = (DocumentImpl) elem.getOwnerDocument(); - NodeIterator elemsIt = docTraversal.createNodeIterator(elem, NodeFilter.SHOW_ELEMENT, null, true); - - // Make iterator immutable - List elemsList = new LinkedList(); - while (true) - { - Node currNode = elemsIt.nextNode(); - if (currNode == null) break; - elemsList.add(currNode); - } - - Iterator elemsImmIt = elemsList.iterator(); - Element returnValue = null; - while (elemsImmIt.hasNext()) - { - Element currElem = (Element) elemsImmIt.next(); - - String nsUri = currElem.getNamespaceURI(); - String localName = currElem.getLocalName(); - QName qName = new QName(nsUri, localName); - - // Check if element is in "names" - QName newQName = (QName)names.get(qName); - if (newQName != null) - { - Element transformedElem = transformElem(currElem, newQName, prefixes); - if (returnValue == null) returnValue = transformedElem; - } - else - { - String newNamespace = (String)namespaces.get(nsUri); - if (newNamespace != null) - { - newQName = new QName(newNamespace, localName); - Element transformedElem = transformElem(currElem, newQName, prefixes); - if (returnValue == null) returnValue = transformedElem; - } - } - } - return returnValue; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - private static Element transformElem(Element currElem, QName newQName, Map prefixes) - { - Element newElem = currElem.getOwnerDocument().createElementNS(newQName.nsUrl_, - (String) prefixes.get(newQName.nsUrl_) + ":" + newQName.localName_); - - currElem.getParentNode().replaceChild(newElem, currElem); - - // Treat attributes of currElem - NamedNodeMap currAttrs = currElem.getAttributes(); - ArrayList currAttrsList = new ArrayList(currAttrs.getLength()); - for (int i = 0; i < currAttrs.getLength(); i++) currAttrsList.add(currAttrs.item(i)); - for (int i = 0; i < currAttrsList.size(); i++) - { - Attr currAttr = (Attr)currAttrsList.get(i); - currAttr.getOwnerElement().removeAttributeNode(currAttr); - - // Workaround for bad Xerces behaviour: default attributes in the xml namespace are created without - // the xml prefix - if (Constants.NSURI_XML_.equals(currAttr.getNamespaceURI()) && "space".equals(currAttr.getLocalName())) - { - newElem.setAttributeNS(Constants.NSURI_XML_, "xml:space", currAttr.getValue()); - } - else - { - newElem.setAttributeNode(currAttr); - } - } - - // Treat child nodes of currElem - NodeList currChildren = currElem.getChildNodes(); - ArrayList currChildrenList = new ArrayList(currChildren.getLength()); - for (int i = 0; i < currChildren.getLength(); i++) currChildrenList.add(currChildren.item(i)); - for (int i = 0; i < currChildrenList.size(); i++) - { - Node currChild = (Node)currChildrenList.get(i); - currElem.removeChild(currChild); - newElem.appendChild(currChild); - } - - return newElem; - } -} diff --git a/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLBean.java b/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLBean.java deleted file mode 100644 index 4cf099a45..000000000 --- a/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLBean.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Created on 25.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package test.at.gv.egovernment.moa.spss.slinterface; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class DataURLBean -{ - String title_; - String contentType_; - String content_; - - public DataURLBean() - { - super(); - title_="unknown"; - contentType_="unknown"; - content_="unknown"; - } - - public DataURLBean(String title, String contentType, String content) - { - title_ = title; - contentType_ = contentType; - content_ = content; - } - - public String getTitle() - { - return title_; - } - - public String getContentType() - { - return contentType_; - } - - public String getContent() - { - return content_; - } -} diff --git a/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLServlet.java b/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLServlet.java deleted file mode 100644 index ff4cbbe59..000000000 --- a/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLServlet.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Created on 25.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package test.at.gv.egovernment.moa.spss.slinterface; - -import java.io.IOException; - -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.Utils; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class DataURLServlet extends HttpServlet -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_TEST_); - - public DataURLServlet() - { - super(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException - { - // Read content form POST request - try - { - logger_.debug("Received POST request:"); - logger_.debug("Content type: \"" + request.getContentType() + "\"."); - byte[] contentBytes = Utils.readFromInputStream(request.getInputStream()); - String contentStr = new String(contentBytes); - logger_.debug("Content:\n" + new String(contentStr)); - - StringBuffer contentStrBuf = new StringBuffer(contentStr); - int startPos = 0; - while (startPos < contentStrBuf.length()) - { - if (contentStrBuf.charAt(startPos) == '<') - { - contentStrBuf.replace(startPos, startPos + 1, "<"); - startPos += 4; - } - startPos++; - } - contentStr = contentStrBuf.toString(); - - DataURLBean dataURLBean = new DataURLBean("Data URL Results", request.getContentType(), contentStr); - request.setAttribute("dataURLResult", dataURLBean); - } - catch (Exception e) - { - String message = "Failed to read content from POST request."; - logger_.error(message, e); - throw new ServletException(message, e); - } - - // Invoke response JSP page - try - { - response.setContentType("text/html"); - RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/test/dataURL.jsp"); - dispatcher.include(request, response); - } - catch (IOException e) - { - String message = "Failed to send simple HTML answer to client."; - logger_.error(message, e); - throw new ServletException(message, e); - } - } -} diff --git a/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/RewriteServlet.java b/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/RewriteServlet.java deleted file mode 100644 index 43685d4f4..000000000 --- a/spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/RewriteServlet.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Created on 15.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package test.at.gv.egovernment.moa.spss.slinterface; - -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.Properties; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; - -import at.gv.egovernment.moa.spss.slinterface.Constants; -import at.gv.egovernment.moa.spss.slinterface.Utils; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class RewriteServlet extends HttpServlet -{ - private static Logger logger_ = Logger.getLogger(Constants.LH_TEST_); - - public RewriteServlet() - { - super(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException - { - // Read content form POST request - try - { - logger_.debug("Received GET request:"); - logger_.debug("Request URI: \"" + request.getRequestURL() + "\""); - - Properties initProps = (Properties) this.getServletContext().getAttribute(Constants.WSCP_INIT_PROPS_); - String paramName = (initProps != null) - ? initProps.getProperty(Constants.IP_REW_MOASL_URLPARAMNAME_) - : null; - - if (paramName == null || "".equals(paramName)) - throw new ServletException("Could not get rewrite parameter name from init properties."); - - logger_.debug("SLInterface rewrite parameter : \"" + paramName + "\""); - - String slInterfaceURLStr = request.getParameter(paramName); - URL slInterfaceURL = new URL(slInterfaceURLStr); - URLConnection slInterfaceURLConn = slInterfaceURL.openConnection(); - - response.setContentType(slInterfaceURLConn.getContentType()); - - InputStream slInterfaceIS = slInterfaceURLConn.getInputStream(); - OutputStream responseOS = response.getOutputStream(); - Utils.transferStreams(slInterfaceIS, responseOS); - } - catch (Exception e) - { - String message = "Failed to get answer from SL interface."; - logger_.error(message, e); - throw new ServletException(message, e); - } - } -} diff --git a/spss.slinterface/test/moa-wartung-la17/dokument.xml b/spss.slinterface/test/moa-wartung-la17/dokument.xml deleted file mode 100644 index 0154db7a2..000000000 --- a/spss.slinterface/test/moa-wartung-la17/dokument.xml +++ /dev/null @@ -1 +0,0 @@ -<erechtdok stylesheet="eRechtXML2XHTML11_1.9.0.xsl" h-version="2.8.1_20.02.2006" h-creator="RTF2XML.Converter_10. März 2006_11:15:06(3036)" h-created="10. März 2006, 11:15:09" xmlns="http://www.bka.gv.at">Test</erechtdok>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la17/signatur.xml b/spss.slinterface/test/moa-wartung-la17/signatur.xml deleted file mode 100644 index 9ba54eee7..000000000 --- a/spss.slinterface/test/moa-wartung-la17/signatur.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="dokument.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="stylesheet.xsl"/></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W8W5rmqsVfSPwZ3bLF/dZPCAdXQ=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>R/flqO2oXfd/bdqWADtuA571WCV4x+yO1rKW4tpU0+MJYv3e+xnJwFyv51ipp7cx</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la17/stylesheet.xsl b/spss.slinterface/test/moa-wartung-la17/stylesheet.xsl deleted file mode 100644 index 2adcf2a45..000000000 --- a/spss.slinterface/test/moa-wartung-la17/stylesheet.xsl +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:er="http://www.bka.gv.at" xmlns="http://www.w3.org/1999/xhtml"> - <xsl:output encoding="UTF-8" method="xml" indent="yes"/> - <xsl:template match="/"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>HTML-Dokument</title> - </head> - <body> - <xsl:apply-templates/> - </body> - </html> - </xsl:template> - <xsl:template match="er:erechtdok"> - <p><xsl:value-of select="."/></p> - </xsl:template> -</xsl:stylesheet>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la17/verify.jsp b/spss.slinterface/test/moa-wartung-la17/verify.jsp deleted file mode 100644 index 1ceb3c665..000000000 --- a/spss.slinterface/test/moa-wartung-la17/verify.jsp +++ /dev/null @@ -1,80 +0,0 @@ -<%@ page contentType="text/html; charset=UTF-8" %> - -<jsp:useBean - id="initPropertiesBean" - class="at.gv.egovernment.moa.spss.slinterface.beans.InitPropertiesBean" scope="application"> -</jsp:useBean> - -<html> -<head> - <title>Testanwendung für SL</title> -</head> - <body> -<form action="<% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/http-security-layer-request" method="post"> -<table width="800px" align="center"> -<tr> -<td> -<h1 align="center">Testanwendung für SL</h1> -<p align="center">Das signierte Dokument ist ein Security-Layer XHTML Dokument.</p> -<table bgcolor="#eeeeee" width="790px" border="1" cellpadding="3"> -<tr> -<td>Signaturprüfrequest</td> -<td> -<textarea name="XMLRequest" cols=80 rows=20> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <XMLContent><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="dokument.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="stylesheet.xsl"/></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W8W5rmqsVfSPwZ3bLF/dZPCAdXQ=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>R/flqO2oXfd/bdqWADtuA571WCV4x+yO1rKW4tpU0+MJYv3e+xnJwFyv51ipp7cx</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/test/moa-wartung-la17/stylesheet.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/test/moa-wartung-la17/dokument.xml</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> -</textarea> -</td> -</tr> -<tr> -<td>DataURL</td> -<td><input name="DataURL" value="<% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/dataurl" size=70/> -</td> -</tr> -</table> -<p align="center"> -<input type="submit"> -</p> -</td> -</tr> -</table> -</form> -</body> -</html> diff --git a/spss.slinterface/test/moa-wartung-la17/verifyRequest.xml b/spss.slinterface/test/moa-wartung-la17/verifyRequest.xml deleted file mode 100644 index d66d6ecc6..000000000 --- a/spss.slinterface/test/moa-wartung-la17/verifyRequest.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <XMLContent><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="dokument.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="stylesheet.xsl"/></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W8W5rmqsVfSPwZ3bLF/dZPCAdXQ=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>R/flqO2oXfd/bdqWADtuA571WCV4x+yO1rKW4tpU0+MJYv3e+xnJwFyv51ipp7cx</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/test/moa-wartung-la17/stylesheet.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent><% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/test/moa-wartung-la17/dokument.xml</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif b/spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif Binary files differdeleted file mode 100644 index 971fec9a0..000000000 --- a/spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif +++ /dev/null diff --git a/spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif b/spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif Binary files differdeleted file mode 100644 index 971fec9a0..000000000 --- a/spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif +++ /dev/null diff --git a/spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif b/spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif Binary files differdeleted file mode 100644 index 971fec9a0..000000000 --- a/spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif +++ /dev/null diff --git a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml deleted file mode 100644 index 43d4357b6..000000000 --- a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1'?> -<erechtdok stylesheet="eRechtXML2XHTML11_1.9.0.xsl" h-version="2.8.1_20.02.2006" h-creator="RTF2XML.Converter_09. März 2006_13:07:22(19824)" h-created="09. März 2006, 13:07:25" xmlns="http://www.bka.gv.at"> - <metadaten></metadaten> - <nutzdaten> - <abschnitt nr="1" typ="ns" paperf="h" endnhier="true"> - <kzinhalt typ="p"> - <absatz typ="kz" halign="j"> - <tab align="z" position="212,65" leader="o"></tab>BGBl. II - Ausgegeben am 9. März 2006 - Nr. 106<tab align="r" position="425,25" leader="o"></tab>Seite <feld code="+PAGE++%5C%2A+MERGEFORMAT+">2</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">2</feld> - </absatz> - </kzinhalt> - <kzinhalt typ="f"> - <absatz typ="kz" halign="j"> - <tab align="z" position="212,65" leader="o"></tab> - <tab align="r" position="425,25" leader="o"></tab> - <feld code="+PAGE++%5C%2A+MERGEFORMAT+">1</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">2</feld> - </absatz> - </kzinhalt> - <fzinhalt typ="p"> - <absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> - </fzinhalt> - <fzinhalt typ="f"> - <absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> - </fzinhalt> - <ueberschrift typ="bdgesblatt" halign="c">BUNDESGESETZBLATT</ueberschrift> - <ueberschrift typ="repoesterr" halign="c">FÜR DIE REPUBLIK ÖSTERREICH</ueberschrift> - <ausgabe> - <adtext>Jahrgang 2006</adtext> - <addat>Ausgegeben am 9. März 2006</addat> - <adid>Teil II</adid> - </ausgabe> - <ueberschrift typ="kurztitel" halign="j">106. Verordnung:<tab></tab>Rohmilchverordnung</ueberschrift> - <ueberschrift typ="titel" halign="j">106. Verordnung der Bundesministerin für Gesundheit und Frauen über Rohmilch und Rohrahm (Rohmilchverordnung)</ueberschrift> - <absatz typ="promkleinlsatz" halign="j">Auf Grund des § 14 Z 1 des Lebensmittelsicherheits- und Verbraucherschutzgesetzes <kidea></kidea> LMSVG, BGBl. I Nr. 13/2006, geändert durch das Bundesgesetz BGBl. I Nr. 151/2005, wird im Einvernehmen mit dem Bundesminister für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft verordnet:</absatz> - <ueberschrift typ="para" halign="c">Geltungsbereich</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>1.</gldsym> Diese Verordnung regelt das Inverkehrbringen von Rohmilch und Rohrahm, die für den unmittelbaren menschlichen Verzehr bestimmt sind sowie damit in Zusammenhang stehende Behandlungs- und Kennzeichnungvorschriften.</absatz> - <ueberschrift typ="para" halign="c">Allgemeine Bestimmungen</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>2.</gldsym> (1) Rohmilch und Rohrahm dürfen nur direkt vom Tierhalter an den Endverbraucher oder an Einzelhandelsunternehmen und von diesen Einzelhandelsunternehmen direkt an den Endverbraucher abgegeben werden.</absatz> - <absatz typ="abs" halign="j">(2) Rohmilch und Rohrahm dürfen nicht an Schulen und Kindergärten abgegeben werden. Andere Einrichtungen der Gemeinschaftsversorgung, denen Rohmilch oder Rohrahm gemäß Abs. 1 abgegeben wird, dürfen diese nur zum Zwecke der Herstellung von Speisen und Getränken verwenden, die einem Erhitzungsverfahren unterzogen werden, mit dem eine ausreichend hohe Kerntemperatur erzielt wird, um die Abtötung von pathogenen Mikroorganismen sicherzustellen.</absatz> - <ueberschrift typ="para" halign="c">Milchautomaten</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>3.</gldsym> Rohmilch kann durch einen nach anerkannten Kriterien geprüften Milchautomaten abgegeben werden, wenn gewährleistet ist, dass die Rohmilch durch den Milchautomaten oder dessen Standort keine hygienisch nachteilige Beeinträchtigung erfährt.</absatz> - <ueberschrift typ="para" halign="c">Zeitpunkt der Abgabe</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>4.</gldsym> Rohmilch darf nur am Tag der Gewinnung und an den zwei darauf folgenden Tagen abgegeben werden. Rohrahm darf nur am Tag der Gewinnung der Rohmilch oder am darauf folgenden Tag aus dieser hergestellt und abgegeben werden.</absatz> - <ueberschrift typ="para" halign="c">Kennzeichnung</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>5.</gldsym> (1) Unbeschadet der Bestimmungen der Lebensmittelkennzeichnungsverordnung 1993 - LMKV, BGBl. Nr. 72/1993 in der jeweils geltenden Fassung, ist Rohmilch zum unmittelbaren menschlichen Verzehr mit dem Hinweis <bdquo></bdquo>Rohmilch, vor dem Verzehr abkochen<ldquo></ldquo> und Rohrahm mit dem Hinweis <bdquo></bdquo>Rohrahm, nur zur Herstellung von durcherhitzten Speisen verwenden<ldquo></ldquo> zu deklarieren.</absatz> - <absatz typ="abs" halign="j">(2) Bei Rohmilch und Rohrahm, die nicht gemäß der Lebensmittelkennzeichnungsverordnung 1993 -LMKV zu kennzeichnen sind und nicht zum unmittelbaren Verzehr an Ort und Stelle bestimmt sind, hat der Hinweis gemäß Abs. 1 - bei Abgabe an den Endverbraucher - auf einem Aushang, den der Endverbraucher einsehen kann, deutlich lesbar zu erfolgen. Bei Abgabe an Einzelhandelsunternehmen ist auf dem Transportbehälter und auf den die Ware begleitenden Dokumenten, wie Lieferschein oder Rechnung <bdquo></bdquo>Rohmilch<ldquo></ldquo> oder <bdquo></bdquo>Rohrahm<ldquo></ldquo> anzugeben.</absatz> - <ueberschrift typ="para" halign="c">Kriterien</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>6.</gldsym> Rohmilch muss folgende Kriterien erfüllen:</absatz> - <liste> - <ziffernliste ebene="1"> - <listelem> - <symbol stellen="2">1.</symbol>Rohe Kuhmilch:</listelem> - </ziffernliste> - <schluss typ="Ziff">a) Keimzahl bei 30°C (pro ml): <binary nr="1" shapetype="is" height="12" width="10,2" alt="" brightness="0,5" contrast="0,5" oleclass="unknown" datatype="gif"> - <src>./Bilder-Dateien/Bilder.img1is.gif</src></binary> 50 000;</schluss> - <schluss typ="Ziff">b) Somatische Zellen (pro ml): <binary nr="2" shapetype="is" height="12" width="10,2" alt="" brightness="0,5" contrast="0,5" oleclass="unknown" datatype="gif"> - <src>./Bilder-Dateien/Bilder.img2is.gif</src></binary> 400 000.</schluss> - <ziffernliste ebene="1"> - <listelem> - <symbol stellen="2">2.</symbol>Rohmilch von anderen Tierarten: Keimzahl bei 30°C (pro ml): <binary nr="3" shapetype="is" height="12" width="10,2" alt="" brightness="0,5" contrast="0,5" oleclass="unknown" datatype="gif"> - <src>./Bilder-Dateien/Bilder.img3is.gif</src></binary> 500 000.</listelem> - </ziffernliste> - </liste> - <ueberschrift typ="para" halign="c">Personenbezogene Bezeichnungen</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>7.</gldsym> Bei den in dieser Verordnung verwendeten personenbezogenen Bezeichnungen gilt die gewählte Form für beide Geschlechter.</absatz> - <ueberschrift typ="para" halign="c">Schlussbestimmung</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>8.</gldsym> Diese Verordnung wurde unter Einhaltung der Bestimmungen der Richtlinie 98/34/EG über ein Informationsverfahren auf dem Gebiet der Normen und technischen Vorschriften, ABl. Nr. L 204 vom 21. Juli 1998 und des Artikels 10 Abs. 5 der Verordnung (EG) Nr. 853/2004 mit spezifischen Hygienevorschriften für Lebensmittel tierischen Ursprungs, ABl. Nr. L 139 vom 30. April 2004, berichtigt durch ABl. Nr. L 226 vom 25. Juni 2004, notifiziert.</absatz> - <unterschrift typ="links">Rauch-Kallat</unterschrift> - </abschnitt> - </nutzdaten> - <layoutdaten paperf="7" paperh="842" paperw="595.35" margl="85.05" margr="85.05" margt="85.05" margb="85.05" headerd="28.35" footerd="65.2" gutter="0" gutterpos="0" deftab="35.4"></layoutdaten> -</erechtdok>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.utf8.xml b/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.utf8.xml deleted file mode 100644 index 86609dd11..000000000 --- a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.utf8.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<erechtdok stylesheet="eRechtXML2XHTML11_1.9.0.xsl" h-version="2.8.1_20.02.2006" h-creator="RTF2XML.Converter_09. März 2006_13:07:22(19824)" h-created="09. März 2006, 13:07:25" xmlns="http://www.bka.gv.at"> - <metadaten></metadaten> - <nutzdaten> - <abschnitt nr="1" typ="ns" paperf="h" endnhier="true"> - <kzinhalt typ="p"> - <absatz typ="kz" halign="j"> - <tab align="z" position="212,65" leader="o"></tab>BGBl. II - Ausgegeben am 9. März 2006 - Nr. 106<tab align="r" position="425,25" leader="o"></tab>Seite <feld code="+PAGE++%5C%2A+MERGEFORMAT+">2</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">2</feld> - </absatz> - </kzinhalt> - <kzinhalt typ="f"> - <absatz typ="kz" halign="j"> - <tab align="z" position="212,65" leader="o"></tab> - <tab align="r" position="425,25" leader="o"></tab> - <feld code="+PAGE++%5C%2A+MERGEFORMAT+">1</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">2</feld> - </absatz> - </kzinhalt> - <fzinhalt typ="p"> - <absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> - </fzinhalt> - <fzinhalt typ="f"> - <absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> - </fzinhalt> - <ueberschrift typ="bdgesblatt" halign="c">BUNDESGESETZBLATT</ueberschrift> - <ueberschrift typ="repoesterr" halign="c">FÜR DIE REPUBLIK ÖSTERREICH</ueberschrift> - <ausgabe> - <adtext>Jahrgang 2006</adtext> - <addat>Ausgegeben am 9. März 2006</addat> - <adid>Teil II</adid> - </ausgabe> - <ueberschrift typ="kurztitel" halign="j">106. Verordnung:<tab></tab>Rohmilchverordnung</ueberschrift> - <ueberschrift typ="titel" halign="j">106. Verordnung der Bundesministerin für Gesundheit und Frauen über Rohmilch und Rohrahm (Rohmilchverordnung)</ueberschrift> - <absatz typ="promkleinlsatz" halign="j">Auf Grund des § 14 Z 1 des Lebensmittelsicherheits- und Verbraucherschutzgesetzes <kidea></kidea> LMSVG, BGBl. I Nr. 13/2006, geändert durch das Bundesgesetz BGBl. I Nr. 151/2005, wird im Einvernehmen mit dem Bundesminister für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft verordnet:</absatz> - <ueberschrift typ="para" halign="c">Geltungsbereich</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>1.</gldsym> Diese Verordnung regelt das Inverkehrbringen von Rohmilch und Rohrahm, die für den unmittelbaren menschlichen Verzehr bestimmt sind sowie damit in Zusammenhang stehende Behandlungs- und Kennzeichnungvorschriften.</absatz> - <ueberschrift typ="para" halign="c">Allgemeine Bestimmungen</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>2.</gldsym> (1) Rohmilch und Rohrahm dürfen nur direkt vom Tierhalter an den Endverbraucher oder an Einzelhandelsunternehmen und von diesen Einzelhandelsunternehmen direkt an den Endverbraucher abgegeben werden.</absatz> - <absatz typ="abs" halign="j">(2) Rohmilch und Rohrahm dürfen nicht an Schulen und Kindergärten abgegeben werden. Andere Einrichtungen der Gemeinschaftsversorgung, denen Rohmilch oder Rohrahm gemäß Abs. 1 abgegeben wird, dürfen diese nur zum Zwecke der Herstellung von Speisen und Getränken verwenden, die einem Erhitzungsverfahren unterzogen werden, mit dem eine ausreichend hohe Kerntemperatur erzielt wird, um die Abtötung von pathogenen Mikroorganismen sicherzustellen.</absatz> - <ueberschrift typ="para" halign="c">Milchautomaten</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>3.</gldsym> Rohmilch kann durch einen nach anerkannten Kriterien geprüften Milchautomaten abgegeben werden, wenn gewährleistet ist, dass die Rohmilch durch den Milchautomaten oder dessen Standort keine hygienisch nachteilige Beeinträchtigung erfährt.</absatz> - <ueberschrift typ="para" halign="c">Zeitpunkt der Abgabe</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>4.</gldsym> Rohmilch darf nur am Tag der Gewinnung und an den zwei darauf folgenden Tagen abgegeben werden. Rohrahm darf nur am Tag der Gewinnung der Rohmilch oder am darauf folgenden Tag aus dieser hergestellt und abgegeben werden.</absatz> - <ueberschrift typ="para" halign="c">Kennzeichnung</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>5.</gldsym> (1) Unbeschadet der Bestimmungen der Lebensmittelkennzeichnungsverordnung 1993 - LMKV, BGBl. Nr. 72/1993 in der jeweils geltenden Fassung, ist Rohmilch zum unmittelbaren menschlichen Verzehr mit dem Hinweis <bdquo></bdquo>Rohmilch, vor dem Verzehr abkochen<ldquo></ldquo> und Rohrahm mit dem Hinweis <bdquo></bdquo>Rohrahm, nur zur Herstellung von durcherhitzten Speisen verwenden<ldquo></ldquo> zu deklarieren.</absatz> - <absatz typ="abs" halign="j">(2) Bei Rohmilch und Rohrahm, die nicht gemäß der Lebensmittelkennzeichnungsverordnung 1993 -LMKV zu kennzeichnen sind und nicht zum unmittelbaren Verzehr an Ort und Stelle bestimmt sind, hat der Hinweis gemäß Abs. 1 - bei Abgabe an den Endverbraucher - auf einem Aushang, den der Endverbraucher einsehen kann, deutlich lesbar zu erfolgen. Bei Abgabe an Einzelhandelsunternehmen ist auf dem Transportbehälter und auf den die Ware begleitenden Dokumenten, wie Lieferschein oder Rechnung <bdquo></bdquo>Rohmilch<ldquo></ldquo> oder <bdquo></bdquo>Rohrahm<ldquo></ldquo> anzugeben.</absatz> - <ueberschrift typ="para" halign="c">Kriterien</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>6.</gldsym> Rohmilch muss folgende Kriterien erfüllen:</absatz> - <liste> - <ziffernliste ebene="1"> - <listelem> - <symbol stellen="2">1.</symbol>Rohe Kuhmilch:</listelem> - </ziffernliste> - <schluss typ="Ziff">a) Keimzahl bei 30°C (pro ml): <binary nr="1" shapetype="is" height="12" width="10,2" alt="" brightness="0,5" contrast="0,5" oleclass="unknown" datatype="gif"> - <src>./Bilder-Dateien/Bilder.img1is.gif</src></binary> 50 000;</schluss> - <schluss typ="Ziff">b) Somatische Zellen (pro ml): <binary nr="2" shapetype="is" height="12" width="10,2" alt="" brightness="0,5" contrast="0,5" oleclass="unknown" datatype="gif"> - <src>./Bilder-Dateien/Bilder.img2is.gif</src></binary> 400 000.</schluss> - <ziffernliste ebene="1"> - <listelem> - <symbol stellen="2">2.</symbol>Rohmilch von anderen Tierarten: Keimzahl bei 30°C (pro ml): <binary nr="3" shapetype="is" height="12" width="10,2" alt="" brightness="0,5" contrast="0,5" oleclass="unknown" datatype="gif"> - <src>./Bilder-Dateien/Bilder.img3is.gif</src></binary> 500 000.</listelem> - </ziffernliste> - </liste> - <ueberschrift typ="para" halign="c">Personenbezogene Bezeichnungen</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>7.</gldsym> Bei den in dieser Verordnung verwendeten personenbezogenen Bezeichnungen gilt die gewählte Form für beide Geschlechter.</absatz> - <ueberschrift typ="para" halign="c">Schlussbestimmung</ueberschrift> - <absatz typ="abs" halign="j"> - <gldsym>§<nbsp></nbsp>8.</gldsym> Diese Verordnung wurde unter Einhaltung der Bestimmungen der Richtlinie 98/34/EG über ein Informationsverfahren auf dem Gebiet der Normen und technischen Vorschriften, ABl. Nr. L 204 vom 21. Juli 1998 und des Artikels 10 Abs. 5 der Verordnung (EG) Nr. 853/2004 mit spezifischen Hygienevorschriften für Lebensmittel tierischen Ursprungs, ABl. Nr. L 139 vom 30. April 2004, berichtigt durch ABl. Nr. L 226 vom 25. Juni 2004, notifiziert.</absatz> - <unterschrift typ="links">Rauch-Kallat</unterschrift> - </abschnitt> - </nutzdaten> - <layoutdaten paperf="7" paperh="842" paperw="595.35" margl="85.05" margr="85.05" margt="85.05" margb="85.05" headerd="28.35" footerd="65.2" gutter="0" gutterpos="0" deftab="35.4"></layoutdaten> -</erechtdok>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.iso8859.xml deleted file mode 100644 index 38f0f2772..000000000 --- a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.iso8859.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<erechtdok stylesheet="eRechtXML2XHTML11_1.9.1.xsl" h-version="2.8.2_24.05.2006" h-creator="RTF2XML.Converter_30. Mai 2006_10:06:50(2792)" h-created="30. Mai 2006, 10:06:53" xmlns="http://www.bka.gv.at"> -<metadaten></metadaten> -<nutzdaten> -<abschnitt nr="1" typ="ns" paperf="h" endnhier="true"> -<kzinhalt typ="p"> -<absatz typ="kz" halign="j"> -<tab align="z" position="212,65" leader="o"></tab>BGBl. II - Ausgegeben am 30. Mai 2006 - Nr. 204<tab align="r" position="425,25" leader="o"></tab>Seite <feld code="+PAGE++%5C%2A+MERGEFORMAT+">1</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">1</feld> -</absatz> -</kzinhalt> -<kzinhalt typ="f"> -<absatz typ="kz" halign="j"> -<tab align="z" position="212,65" leader="o"></tab> -<tab align="r" position="425,25" leader="o"></tab> -<feld code="+PAGE++%5C%2A+MERGEFORMAT+">1</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">1</feld> -</absatz> -</kzinhalt> -<fzinhalt typ="p"> -<absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> -</fzinhalt> -<fzinhalt typ="f"> -<absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> -</fzinhalt> -<ueberschrift typ="bdgesblatt" halign="c">BUNDESGESETZBLATT</ueberschrift> -<ueberschrift typ="repoesterr" halign="c">FÜR DIE REPUBLIK ÖSTERREICH</ueberschrift> -<ausgabe> -<adtext>Jahrgang 2006</adtext> -<addat>Ausgegeben am 30. Mai 2006</addat> -<adid>Teil<nbsp></nbsp>II</adid> -</ausgabe> -<ueberschrift typ="kurztitel" halign="j">204. Verordnung: Änderung der Schiffstechnikverordnung</ueberschrift> -<ueberschrift typ="titel" halign="j">204. Verordnung des Bundesministers für Verkehr, Innovation und Technologie, mit der die Schiffstechnikverordnung geändert wird</ueberschrift> -<absatz typ="promkleinlsatz" halign="j">Auf Grund des §<nbsp></nbsp>109 Abs.<nbsp></nbsp>7 des Schifffahrtsgesetzes, BGBl.<nbsp></nbsp>I Nr.<nbsp></nbsp>62/1997 in der Fassung BGBl.<nbsp></nbsp>I Nr.<nbsp></nbsp>123/2005, wird verordnet:</absatz> -<absatz typ="novao1" halign="j">Dem §<nbsp></nbsp>26 der Schiffstechnikverordnung, BGBl. Nr.<nbsp></nbsp>450/1993, zuletzt geändert durch BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>196/1997, werden folgende Absätze 8 und 9 angefügt:</absatz> -<absatz typ="abs" halign="j"> -<bdquo></bdquo>(8) Motoren der Kategorien V 1:1, V 1:2 und V 1:3 gemäß Verordnung des Bundesministers für Wirtschaft und Arbeit über Maßnahmen zur Bekämpfung der Emission von gasförmigen Schadstoffen und luftverunreinigenden Partikeln aus Verbrennungsmotoren für mobile Maschinen und Geräte, BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>136/2005, dürfen nach dem 31.<nbsp></nbsp>Dezember 2006 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §<nbsp></nbsp>10 Absatz 3e dieser Verordnung verfügen.</absatz> -<absatz typ="abs" halign="j">(9) Motoren der Kategorien V 1:4 und V 2 gemäß Verordnung des Bundesministers für Wirtschaft und Arbeit über Maßnahmen zur Bekämpfung der Emission von gasförmigen Schadstoffen und luftverunreinigenden Partikeln aus Verbrennungsmotoren für mobile Maschinen und Geräte, BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>136/2005, dürfen nach dem 31.<nbsp></nbsp>Dezember 2008 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §<nbsp></nbsp>10 Absatz 3e dieser Verordnung verfügen.<ldquo></ldquo> -</absatz> -<unterschrift typ="links">Gorbach</unterschrift> -</abschnitt> -</nutzdaten> -<layoutdaten paperf="7" paperh="841.9" paperw="595.3" margl="85.05" margr="85.05" margt="85.05" margb="85.05" headerd="28.35" footerd="65.2" gutter="0" gutterpos="0" deftab="35.4"></layoutdaten> -</erechtdok> diff --git a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml b/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml deleted file mode 100644 index 97c430ce8..000000000 --- a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<erechtdok stylesheet="eRechtXML2XHTML11_1.9.1.xsl" h-version="2.8.2_24.05.2006" h-creator="RTF2XML.Converter_30. Mai 2006_10:06:50(2792)" h-created="30. Mai 2006, 10:06:53" xmlns="http://www.bka.gv.at"> -<metadaten></metadaten> -<nutzdaten> -<abschnitt nr="1" typ="ns" paperf="h" endnhier="true"> -<kzinhalt typ="p"> -<absatz typ="kz" halign="j"> -<tab align="z" position="212,65" leader="o"></tab>BGBl. II - Ausgegeben am 30. Mai 2006 - Nr. 204<tab align="r" position="425,25" leader="o"></tab>Seite <feld code="+PAGE++%5C%2A+MERGEFORMAT+">1</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">1</feld> -</absatz> -</kzinhalt> -<kzinhalt typ="f"> -<absatz typ="kz" halign="j"> -<tab align="z" position="212,65" leader="o"></tab> -<tab align="r" position="425,25" leader="o"></tab> -<feld code="+PAGE++%5C%2A+MERGEFORMAT+">1</feld> von <feld code="+NUMPAGES++%5C%2A+MERGEFORMAT+">1</feld> -</absatz> -</kzinhalt> -<fzinhalt typ="p"> -<absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> -</fzinhalt> -<fzinhalt typ="f"> -<absatz typ="fz" halign="j">www.ris.bka.gv.at</absatz> -</fzinhalt> -<ueberschrift typ="bdgesblatt" halign="c">BUNDESGESETZBLATT</ueberschrift> -<ueberschrift typ="repoesterr" halign="c">FÃœR DIE REPUBLIK ÖSTERREICH</ueberschrift> -<ausgabe> -<adtext>Jahrgang 2006</adtext> -<addat>Ausgegeben am 30. Mai 2006</addat> -<adid>Teil<nbsp></nbsp>II</adid> -</ausgabe> -<ueberschrift typ="kurztitel" halign="j">204. Verordnung: Änderung der Schiffstechnikverordnung</ueberschrift> -<ueberschrift typ="titel" halign="j">204. Verordnung des Bundesministers für Verkehr, Innovation und Technologie, mit der die Schiffstechnikverordnung geändert wird</ueberschrift> -<absatz typ="promkleinlsatz" halign="j">Auf Grund des §<nbsp></nbsp>109 Abs.<nbsp></nbsp>7 des Schifffahrtsgesetzes, BGBl.<nbsp></nbsp>I Nr.<nbsp></nbsp>62/1997 in der Fassung BGBl.<nbsp></nbsp>I Nr.<nbsp></nbsp>123/2005, wird verordnet:</absatz> -<absatz typ="novao1" halign="j">Dem §<nbsp></nbsp>26 der Schiffstechnikverordnung, BGBl. Nr.<nbsp></nbsp>450/1993, zuletzt geändert durch BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>196/1997, werden folgende Absätze 8 und 9 angefügt:</absatz> -<absatz typ="abs" halign="j"> -<bdquo></bdquo>(8) Motoren der Kategorien V 1:1, V 1:2 und V 1:3 gemäß Verordnung des Bundesministers für Wirtschaft und Arbeit über Maßnahmen zur Bekämpfung der Emission von gasförmigen Schadstoffen und luftverunreinigenden Partikeln aus Verbrennungsmotoren für mobile Maschinen und Geräte, BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>136/2005, dürfen nach dem 31.<nbsp></nbsp>Dezember 2006 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §<nbsp></nbsp>10 Absatz 3e dieser Verordnung verfügen.</absatz> -<absatz typ="abs" halign="j">(9) Motoren der Kategorien V 1:4 und V 2 gemäß Verordnung des Bundesministers für Wirtschaft und Arbeit über Maßnahmen zur Bekämpfung der Emission von gasförmigen Schadstoffen und luftverunreinigenden Partikeln aus Verbrennungsmotoren für mobile Maschinen und Geräte, BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>136/2005, dürfen nach dem 31.<nbsp></nbsp>Dezember 2008 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §<nbsp></nbsp>10 Absatz 3e dieser Verordnung verfügen.<ldquo></ldquo> -</absatz> -<unterschrift typ="links">Gorbach</unterschrift> -</abschnitt> -</nutzdaten> -<layoutdaten paperf="7" paperh="841.9" paperw="595.3" margl="85.05" margr="85.05" margt="85.05" margb="85.05" headerd="28.35" footerd="65.2" gutter="0" gutterpos="0" deftab="35.4"></layoutdaten> -</erechtdok> diff --git a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.iso8859.xml deleted file mode 100644 index c014b868c..000000000 --- a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.iso8859.xml +++ /dev/null @@ -1,550 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<erechtdok stylesheet="eRechtXML2XHTML11_1.8.6.xsl" h-version="2.6.1_01.07.2004" h-creator="RTF2XML.Converter_30. August 2004_11:28:59(2460)" h-created="30. August 2004, 11:29:02" xmlns="http://www.bka.gv.at"> -<metadaten xmlns:bka="http://www.bka.gv.at"> -<sachbea>SCHMIDL, Renate</sachbea> -<legist>Mag. Christine Hochholdinger</legist> -<dokId>COO_2026_100_2_123336</dokId> -<vorhabenId>COO_2026_100_2_123331</vorhabenId> -<dokName>Entwurf</dokName> -</metadaten> -<nutzdaten> -<abschnitt nr="1" typ="ns" paperf="h" endnhier="true"> -<kzinhalt typ="p"> -<absatz typ="kz"> -<tab align="z" position="212,65" leader="o"></tab>BGBl. II <kidea></kidea> Ausgegeben am 30. August 2004 <kidea></kidea> Nr. 341 <tab align="r" position="425,25" leader="o"></tab> -<feld code=" PAGE ">2</feld> von <feld code=" NUMPAGES ">3</feld> -</absatz> -</kzinhalt> -<kzinhalt typ="f"> -<absatz typ="kz"> -<tab align="z" position="212,65" leader="o"></tab> -<tab align="r" position="425,25" leader="o"></tab> -<feld code=" PAGE ">1</feld> von <feld code=" NUMPAGES ">3</feld> -</absatz> -</kzinhalt> -<fzinhalt typ="p"> -<absatz typ="fz">www.ris.bka.gv.at</absatz> -</fzinhalt> -<fzinhalt typ="f"> -<absatz typ="fz">www.ris.bka.gv.at</absatz> -</fzinhalt> -<ueberschrift typ="bdgesblatt">BUNDESGESETZBLATT</ueberschrift> -<ueberschrift typ="repoesterr">FÜR DIE REPUBLIK ÖSTERREICH</ueberschrift> -<ausgabe> -<adtext>Jahrgang 2004 </adtext> -<addat>Ausgegeben am 30. August 2004 </addat> -<adid>Teil II</adid> -</ausgabe> -<ueberschrift typ="kurztitel">341. Verordnung:<tab></tab>Änderung der Altlastenatlas-VO</ueberschrift> -<ueberschrift typ="titel">341. Verordnung des Bundesministers für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft, mit der die Altlastenatlas-VO geändert wird</ueberschrift> -<absatz typ="promkleinlsatz">Auf Grund der §§<nbsp></nbsp>13 und 14 des Altlastensanierungsgesetzes, BGBl. Nr.<nbsp></nbsp>299/1989, in der Fassung des Bundesgesetzes BGBl.<nbsp></nbsp>I Nr.<nbsp></nbsp>71/2003, wird verordnet:</absatz> -<absatz typ="promkleinlsatz">Die Altlastenatlas-VO, BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>232/2004, wird wie folgt geändert:</absatz> -<absatz typ="novao1">1. Der bisherige Text des §<nbsp></nbsp>2 erhält die Absatzbezeichnung <bdquo></bdquo>(1)<ldquo></ldquo> und folgender Abs.<nbsp></nbsp>2 wird angefügt:</absatz> -<absatz typ="abs"> -<bdquo></bdquo>(2) Die Anhänge<nbsp></nbsp>3 und <nbsp></nbsp>4 in der Fassung der Verordnung BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>341/2004 treten mit 15.<nbsp></nbsp>September 2004 in Kraft.<ldquo></ldquo> -</absatz> -<absatz typ="novao1">2. Im Anhang 3 wird folgender Eintrag ALTLAST N54 angefügt:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST N54: Beizschlammdeponie Ternitz</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Neunkirchen</absatz> -<absatz typ="tabtext">Ternitz</absatz> -<absatz typ="tabtext">Dunkelstein (23303)</absatz> -<absatz typ="tabtext">734/1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altablagerung</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">2</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">3. Im Anhang 4 lautet der Eintrag ALTLAST O50:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O50: Schwellenimprägnierung Schneegattern</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Braunau am Inn</absatz> -<absatz typ="tabtext">Lengau</absatz> -<absatz typ="tabtext">Krenwald (40114)</absatz> -<absatz typ="tabtext">470/1, 523/5, 604/3, 956, 985/4, 986/7</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">21.8.2001</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">3</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">4. Im Anhang 4 lauten die Einträge ALTLAST O60 bis O62:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O60: Putzerei Exclusiv Schwab</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.318/7</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">29.8.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O61: Putzerei Szöts</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.900</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">2</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O62: Putzerei Schwab-Norge</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.466</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">10.9.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">5. Im Anhang 4 lautet der Eintrag ALTLAST O64:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O64: Kitzmantel</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Gmunden</absatz> -<absatz typ="tabtext">Vorchdorf</absatz> -<absatz typ="tabtext">Vorchdorf (42164)</absatz> -<absatz typ="tabtext">376/1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altablagerung</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">25.12.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">3</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">6. Im Anhang 4 werden folgende Einträge ALTLAST O65 bis O67 angefügt:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O65: Rappersberger Chemikalien</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">482/1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">-</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">-</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O66: Putzerei Käferböck</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.372/2</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O67: BP-Tanklager Linz 1 alt - Schadensfall SF2A</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Lustenau (45204)</absatz> -<absatz typ="tabtext">1485/2, 1485/8</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">3</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<unterschrift typ="links">Pröll</unterschrift> -</abschnitt> -</nutzdaten> -<layoutdaten paperf="7" paperh="841.9" paperw="595.3" margl="85.05" margr="85.05" margt="85.05" margb="85.05" headerd="28.35" footerd="65.2" gutter="0" gutterpos="0" deftab="35.4"></layoutdaten> -</erechtdok> diff --git a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml b/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml deleted file mode 100644 index 6f810e4b8..000000000 --- a/spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml +++ /dev/null @@ -1,550 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<erechtdok stylesheet="eRechtXML2XHTML11_1.8.6.xsl" h-version="2.6.1_01.07.2004" h-creator="RTF2XML.Converter_30. August 2004_11:28:59(2460)" h-created="30. August 2004, 11:29:02" xmlns="http://www.bka.gv.at"> -<metadaten xmlns:bka="http://www.bka.gv.at"> -<sachbea>SCHMIDL, Renate</sachbea> -<legist>Mag. Christine Hochholdinger</legist> -<dokId>COO_2026_100_2_123336</dokId> -<vorhabenId>COO_2026_100_2_123331</vorhabenId> -<dokName>Entwurf</dokName> -</metadaten> -<nutzdaten> -<abschnitt nr="1" typ="ns" paperf="h" endnhier="true"> -<kzinhalt typ="p"> -<absatz typ="kz"> -<tab align="z" position="212,65" leader="o"></tab>BGBl. II <kidea></kidea> Ausgegeben am 30. August 2004 <kidea></kidea> Nr. 341 <tab align="r" position="425,25" leader="o"></tab> -<feld code=" PAGE ">2</feld> von <feld code=" NUMPAGES ">3</feld> -</absatz> -</kzinhalt> -<kzinhalt typ="f"> -<absatz typ="kz"> -<tab align="z" position="212,65" leader="o"></tab> -<tab align="r" position="425,25" leader="o"></tab> -<feld code=" PAGE ">1</feld> von <feld code=" NUMPAGES ">3</feld> -</absatz> -</kzinhalt> -<fzinhalt typ="p"> -<absatz typ="fz">www.ris.bka.gv.at</absatz> -</fzinhalt> -<fzinhalt typ="f"> -<absatz typ="fz">www.ris.bka.gv.at</absatz> -</fzinhalt> -<ueberschrift typ="bdgesblatt">BUNDESGESETZBLATT</ueberschrift> -<ueberschrift typ="repoesterr">FÃœR DIE REPUBLIK ÖSTERREICH</ueberschrift> -<ausgabe> -<adtext>Jahrgang 2004 </adtext> -<addat>Ausgegeben am 30. August 2004 </addat> -<adid>Teil II</adid> -</ausgabe> -<ueberschrift typ="kurztitel">341. Verordnung:<tab></tab>Änderung der Altlastenatlas-VO</ueberschrift> -<ueberschrift typ="titel">341. Verordnung des Bundesministers für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft, mit der die Altlastenatlas-VO geändert wird</ueberschrift> -<absatz typ="promkleinlsatz">Auf Grund der §§<nbsp></nbsp>13 und 14 des Altlastensanierungsgesetzes, BGBl. Nr.<nbsp></nbsp>299/1989, in der Fassung des Bundesgesetzes BGBl.<nbsp></nbsp>I Nr.<nbsp></nbsp>71/2003, wird verordnet:</absatz> -<absatz typ="promkleinlsatz">Die Altlastenatlas-VO, BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>232/2004, wird wie folgt geändert:</absatz> -<absatz typ="novao1">1. Der bisherige Text des §<nbsp></nbsp>2 erhält die Absatzbezeichnung <bdquo></bdquo>(1)<ldquo></ldquo> und folgender Abs.<nbsp></nbsp>2 wird angefügt:</absatz> -<absatz typ="abs"> -<bdquo></bdquo>(2) Die Anhänge<nbsp></nbsp>3 und <nbsp></nbsp>4 in der Fassung der Verordnung BGBl.<nbsp></nbsp>II Nr.<nbsp></nbsp>341/2004 treten mit 15.<nbsp></nbsp>September 2004 in Kraft.<ldquo></ldquo> -</absatz> -<absatz typ="novao1">2. Im Anhang 3 wird folgender Eintrag ALTLAST N54 angefügt:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST N54: Beizschlammdeponie Ternitz</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Neunkirchen</absatz> -<absatz typ="tabtext">Ternitz</absatz> -<absatz typ="tabtext">Dunkelstein (23303)</absatz> -<absatz typ="tabtext">734/1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altablagerung</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">2</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">3. Im Anhang 4 lautet der Eintrag ALTLAST O50:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O50: Schwellenimprägnierung Schneegattern</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Braunau am Inn</absatz> -<absatz typ="tabtext">Lengau</absatz> -<absatz typ="tabtext">Krenwald (40114)</absatz> -<absatz typ="tabtext">470/1, 523/5, 604/3, 956, 985/4, 986/7</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">21.8.2001</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">3</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">4. Im Anhang 4 lauten die Einträge ALTLAST O60 bis O62:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O60: Putzerei Exclusiv Schwab</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.318/7</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">29.8.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O61: Putzerei Szöts</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.900</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">2</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O62: Putzerei Schwab-Norge</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.466</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">10.9.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">5. Im Anhang 4 lautet der Eintrag ALTLAST O64:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O64: Kitzmantel</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Gmunden</absatz> -<absatz typ="tabtext">Vorchdorf</absatz> -<absatz typ="tabtext">Vorchdorf (42164)</absatz> -<absatz typ="tabtext">376/1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altablagerung</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">25.12.2003</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">3</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<absatz typ="novao1">6. Im Anhang 4 werden folgende Einträge ALTLAST O65 bis O67 angefügt:</absatz> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll"> -<bdquo></bdquo>ALTLAST O65: Rappersberger Chemikalien</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">482/1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">-</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">-</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O66: Putzerei Käferböck</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Urfahr (45212)</absatz> -<absatz typ="tabtext">.372/2</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">1</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -</table> -<abstand></abstand> -<table border="1" cellspacing="0" cellpadding="0" width="567" style="width:15.0cm;border-collapse:collapse;border:none"> -<tr> -<td width="567" colspan="2" valign="top" style="width:15.0cm;border:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<ueberschrift typ="erll">ALTLAST O67: BP-Tanklager Linz 1 alt - Schadensfall SF2A</ueberschrift> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Bezirk:</absatz> -<absatz typ="tabtextr">Gemeinde:</absatz> -<absatz typ="tabtextr">Katastralgemeinde:</absatz> -<absatz typ="tabtextr">Grundstücksnummern:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Linz</absatz> -<absatz typ="tabtext">Lustenau (45204)</absatz> -<absatz typ="tabtext">1485/2, 1485/8</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Art der Altlast:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">Altstandort</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Altlastausweisung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Prioritätenklasse:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">3</absatz> -</td> -</tr> -<tr> -<td width="209" valign="top" style="width:157.0pt;border:solid windowtext 1.0pt; border-top:none;padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtextr">Datum der Prioritätenklassifizierung:</absatz> -</td> -<td width="358" valign="top" style="width:268.25pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:2.85pt 2.85pt 2.85pt 2.85pt"> -<absatz typ="tabtext">15.9.2004<ldquo></ldquo> -</absatz> -</td> -</tr> -</table> -<unterschrift typ="links">Pröll</unterschrift> -</abschnitt> -</nutzdaten> -<layoutdaten paperf="7" paperh="841.9" paperw="595.3" margl="85.05" margr="85.05" margt="85.05" margb="85.05" headerd="28.35" footerd="65.2" gutter="0" gutterpos="0" deftab="35.4"></layoutdaten> -</erechtdok> diff --git a/spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip b/spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip Binary files differdeleted file mode 100644 index 54d012c9d..000000000 --- a/spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip +++ /dev/null diff --git a/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml b/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml deleted file mode 100644 index 6ed145191..000000000 --- a/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><dsig:Reference URI="dokument.xml" Id="reference-1-1"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform"><include href="stylesheet.xsl" /></stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><dsig:DigestValue>NPbycy/WxCxeWTH1KWTS61Sl3Qo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="./Bilder-Dateien/Bilder.img1is.gif" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&InstanceDocRef=0" Id="reference-1-2"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><dsig:DigestValue>VxfA0lOw1IrRcZ/mtLJnjN235tw=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="./Bilder-Dateien/Bilder.img2is.gif" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&InstanceDocRef=0" Id="reference-1-3"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><dsig:DigestValue>VxfA0lOw1IrRcZ/mtLJnjN235tw=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="./Bilder-Dateien/Bilder.img3is.gif" Type="http://www.buergerkarte.at/specifications/Security-Layer/20031113?Name=SignedImage&InstanceDocRef=0" Id="reference-1-4"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><dsig:DigestValue>VxfA0lOw1IrRcZ/mtLJnjN235tw=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>m+LsMeF1y6oEDvNaxzQZzGu2jicilXuIeDwY3tPRWquc3MZrhEPmjZGgh9D3kg9G -mEikxklLQ1xA0JDCHlBbupYq/wzb+IKMPfGm6CZuO4NxW/dBexLsNrj5BA9hW3pl -TnPWO8ZUtAb67YYVLUtcWxzswxLK/aZmmvq6/vUy3I8=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml b/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml deleted file mode 100644 index cd20d235a..000000000 --- a/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><dsig:Reference URI="dokument.xml" Id="reference-1-1"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform"><include href="stylesheet.xsl" /></stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><dsig:DigestValue>RujiliZvytFe0R20bw1wQQhjesw=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Bi5mWS19bCHic6Y/OgRLtstf4eLnRlH9mvSxw8itcsLjVYFtavxhfVDknwSmJtj0 -H6raS0tp6l5HUisl9G1/CV9DTRmwWCyq4KZoiGnT0fKJYvnVPKeI6iy69fWYMcdy -NiXv88YXa4zlMwjgUbQF1ExB3iRb2FXncSKXGTfBMMY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml b/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml deleted file mode 100644 index 24c93cfbe..000000000 --- a/spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><dsig:Reference URI="dokument.xml" Id="reference-1-1"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform"><include href="stylesheet.xsl" /></stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><dsig:DigestValue>zhYOFhgjFd8wmiQyzymnTVT8yMA=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>lUpyWqkJOMEGup7Jbj7mUdA32WDA5U8RwNQWqUdEM48uA7nY19Kg4X3fRnXU2C/V -1vUaS7cTElzNwm5ZEm1Rj+eFgeMQpzUenkd7xCbhHs5H0+AfOKSNEgBuY7A6iTnQ -McbmL9JOSflSM+nj7jeSYCI7mxVc2zIBdh7/+XgomKA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la9/stylesheet.1.8.6.xsl b/spss.slinterface/test/moa-wartung-la9/stylesheet.1.8.6.xsl deleted file mode 100644 index 9399a4941..000000000 --- a/spss.slinterface/test/moa-wartung-la9/stylesheet.1.8.6.xsl +++ /dev/null @@ -1,3182 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<xsl:stylesheet version = "1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" xmlns:bka="http://www.bka.gv.at"> -<!-- - ///////////////////////////////////////////////////////////////// - Autor: Hermann Anderl, Klaus Schipany - Revision: 1.8.6 - Erstellt: 03.10.2003 - Modifiziert: 24.03.2004 - ///////////////////////////////////////////////////////////////// --> -<!-- Empfehlung Hr. Karlinger (23.12.03): keine DOCTYPE-Deklaration --> -<!-- Vereinbarung Hr. Karlinger (29.12.03): keine MS-Extensions: <msxsl:script> --> -<xsl:output method="xml" encoding="ISO-8859-1" omit-xml-declaration="yes" indent="yes"/> -<!-- -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - Bei der Erstellung dieses Stylesheets wurden folgende Kriterien angewandt: - 1.) Das generierbare XHTML Dokument entspricht der XHTML 1.1 Spezifikation + CSS 2(W3C). - 2.) Darüber hinaus folgt das Stylesheet den erweiterten Einschränkungen von - SLXHTML in der Version 1.0.1 (18.12.2003), Gregor Karlinger. -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --> -<!-- Bei Verwendung definieren: xmlns:msxsl="urn:schemas-microsoft-com:xslt" --> -<!--msxsl:script language="JScript" implements-prefix="bka"> - function replace(old) { return old.replace(/\./,"_"); } -</msxsl:script--> - -<xsl:template match="bka:table" mode="sort"> - <!-- Es wird verarbeitet: @width, @border, @cellspacing, @cellpadding, @style--> - <xsl:text> - </xsl:text> - <xsl:value-of select="string('<!-- table -->')" disable-output-escaping="yes"/> - <xsl:text> - .</xsl:text><xsl:value-of select="generate-id(.)"/> - <xsl:text> {</xsl:text> - <xsl:if test="./@width"><!-- horizontal und vertikal.--> - <xsl:text> width:</xsl:text><xsl:value-of select="./@width"/><xsl:text>;</xsl:text> - </xsl:if> - <xsl:if test="not(./@border[.=0])"><!-- Alle 4 Seiten, wenn nicht 0 --> - <xsl:text> border:</xsl:text><xsl:value-of select="./@border"/><xsl:text>px solid black;</xsl:text> - </xsl:if> - <xsl:if test="./@cellspacing"><!-- horizontal und vertikal.--> - <xsl:text> border-spacing:</xsl:text><xsl:value-of select="./@cellspacing"/><xsl:text>;</xsl:text> - </xsl:if> - <xsl:if test="./@cellpadding"><!-- Alle 4 Seiten --> - <xsl:text> padding:</xsl:text><xsl:value-of select="./@cellpadding"/><xsl:text>;</xsl:text> - </xsl:if> - <xsl:value-of select="./@style"/> - <xsl:text>}</xsl:text> - <!-- Alle Zeilen (TR) --> - <xsl:text> - </xsl:text> - <xsl:value-of select="string('<!-- tr -->')" disable-output-escaping="yes"/> - <xsl:for-each select="bka:tr | bka:thead/bka:tr"> - <!-- Es wird verarbeitet: @height, @style--> - <xsl:if test="./@*"> - <xsl:text> - .</xsl:text><xsl:value-of select="generate-id(.)"/> - <xsl:text> {</xsl:text> - <xsl:if test="./@height"> - <xsl:text> height:</xsl:text><xsl:value-of select="./@height"/><xsl:text>;</xsl:text> - </xsl:if> - <xsl:value-of select="./@style"/> - <xsl:text>}</xsl:text> - </xsl:if> - </xsl:for-each> - <!-- Alle Zellen (TD) --> - <xsl:text> - </xsl:text> - <xsl:value-of select="string('<!-- td -->')" disable-output-escaping="yes"/> - <xsl:for-each select="bka:tr/bka:td | bka:thead/bka:tr/bka:td"> - <!-- Es wird verarbeitet: @width, @align, @valign, @style--> - <xsl:text> - .</xsl:text><xsl:value-of select="generate-id(.)"/> - <xsl:text> {</xsl:text> - <xsl:if test="./@width"> - <xsl:text> width:</xsl:text><xsl:value-of select="./@width"/><xsl:text>;</xsl:text> - </xsl:if> - <xsl:if test="./@algin"> - <xsl:text> text-align:</xsl:text><xsl:value-of select="./@align"/><xsl:text>;</xsl:text> - </xsl:if> - <xsl:if test="./@valign"> - <xsl:text> vertical-align:</xsl:text><xsl:value-of select="./@valign"/><xsl:text>;</xsl:text> - </xsl:if> - <!-- Sur Sicherheit zum Schluss, da dahinter kein ";" steht. --> - <xsl:value-of select="./@style"/> - <xsl:text>}</xsl:text> - </xsl:for-each> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Keys - ///////////////////////////////////////////////////////////////// --> -<xsl:key name="key_ueberschrift_typ" match="bka:ueberschrift" use="@typ"/> -<xsl:key name="key_kzinhalt_typ" match="bka:kzinhalt" use="@typ"/> -<xsl:key name="key_fzinhalt_typ" match="bka:fzinhalt" use="@typ"/> -<!-- - ///////////////////////////////////////////////////////////////// - //// Aufbau des XHTML-Dokuments - /////////////////////////////////////////////////////////////////--> -<xsl:template match="bka:erechtdok"> - <xsl:value-of disable-output-escaping="yes" select="string('<?xml version="1.0" encoding="ISO-8859-1"?>')"/> - <xsl:element name="html"> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ////////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:metadaten"> - <xsl:element name="head"> - <xsl:element name="title">eRecht XHTML 1.1 Dokument</xsl:element> - <xsl:element name="style"> - <xsl:attribute name="type">text/css</xsl:attribute> - <!-- Seitenränder dynamisch setzen --> - <xsl:variable name="layoutdaten" select = "//bka:layoutdaten"></xsl:variable> - <!-- Die Breiten sind in Points (pt) angegeben und werden so weitergereicht. --> - <xsl:variable name="margt" select = "$layoutdaten/@margt"></xsl:variable> - <xsl:variable name="margr" select = "$layoutdaten/@margr"></xsl:variable> - <xsl:variable name="margb" select = "$layoutdaten/@margb"></xsl:variable> - <xsl:variable name="margl" select = "$layoutdaten/@margl"></xsl:variable> - <xsl:variable name="paperw" select = "$layoutdaten/@paperw"></xsl:variable> - <xsl:variable name="paperh" select = "$layoutdaten/@paperh"></xsl:variable> - <!-- Alle Breitenangaben (width) und generischen CSS-Angaben (style) durch CSS-classes ersetzen. --> - <!-- width=Pixelangabe; in style/class=umgerechnet in pt/cm. z.B. 170(px) = 127.6pt oder 378(px) = 10cm --> - <xsl:apply-templates select="//bka:table" mode="sort"/> - <!-- In dieser Schleife werden alle Höhenangaben (height) in td-Elementen durch CSS-classes ersetzt. --> - <xsl:for-each select="//bka:td/@height"> - <xsl:sort/> - <xsl:text> - .H</xsl:text><xsl:value-of select="generate-id(.)"/><!--xsl:value-of select="bka:replace(string(.))"/--><xsl:text> { height: </xsl:text><xsl:value-of select="."/><xsl:text>;}</xsl:text> - </xsl:for-each> - <!-- Aufzählungen: 1. Spalte 38 px, 2. Spalte 15 px, 3. Spalte 22 px, 4. Spalte 22 px (empirisch ermittelt)--> - <xsl:text> - .W38 { width:38px; }</xsl:text> - <xsl:text> - .W15 { width:15px; }</xsl:text> - <xsl:text> - .W22 { width:22px; }</xsl:text> - <xsl:text> - .wi100 { width:100%; }</xsl:text> - <!-- Erlaeuterungsaufzaehlung --> - <xsl:text> - .WErl { width:15px; }</xsl:text> - <!-- 2. Spalte: berechnet--> - <xsl:text> - .E1Sp2 { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperw - 38"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2 { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperw - 38 - 15"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2 { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E4Sp2 { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 22"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E5Sp2 { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 22 - 22"/><xsl:text>px; }</xsl:text> - <xsl:text> - .ErlSp2 { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperw - 25"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E1Sp2Q { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperh - 38"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2Q { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperh - 38 - 15"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2Q { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E4Sp2Q { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 22"/><xsl:text>px; }</xsl:text> - <xsl:text> - .E5Sp2Q { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 22 - 22"/><xsl:text>px; }</xsl:text> - <xsl:text> - .ErlSp2Q { width:</xsl:text><xsl:value-of select="$layoutdaten/@paperh - 25"/><xsl:text>px; }</xsl:text> - <xsl:text> - .nextpage { page-break-before:always; }</xsl:text> - <xsl:if test="$layoutdaten/@margt | $layoutdaten/@margr | $layoutdaten/@margb | $layoutdaten/@margl"> - <xsl:text> - .margins {</xsl:text> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-top:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-right:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-bottom:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-left:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}</xsl:text> - </xsl:if> - <!-- Seitenbreite dynamisch setzen (Hochformat) --> - <xsl:if test="$layoutdaten/@paperw"> - <xsl:text> - @media screen { .paperw {</xsl:text> - <xsl:value-of select="concat('width:', $paperw, 'px;')"/> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-top:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-right:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-bottom:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-left:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}}</xsl:text> - <xsl:text> - @media print { .paperw {</xsl:text> - <xsl:value-of select="concat('width:', $paperw, 'px;')"/> - <xsl:text>margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:portrait;</xsl:text> - <xsl:text>}}</xsl:text> - </xsl:if> - <!-- Seitenbreite ist die Höhe (Querformat), Drehung der Ränder nach "rechts" --> - <xsl:if test="$layoutdaten/@paperh"> - <xsl:text> - @media screen { .paperh {</xsl:text> - <xsl:value-of select="concat('width:', $paperh, 'px;')"/> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-right:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-bottom:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-left:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-top:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}}</xsl:text> - <xsl:text> - @media print { .paperh {</xsl:text> - <xsl:value-of select="concat('width:', $paperh, 'px;')"/> - <xsl:text>margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:landscape</xsl:text> - <xsl:text>}}</xsl:text> - </xsl:if> -<xsl:text> -/***************************/ -/* Revision: 1.8.6 */ -/* Erstellt: 03.10.2003 */ -/* Modifiziert: 24.03.2004 */ -/***************************/ -/* Allgemeine Angaben zum Anzeigen von Linien in Tabellen */ - -/*@page :left { - size: 21cm 29.7cm; - margin-left: 2cm; - margin-right: 2cm; - marks:crop; -} - -@page :right { - size: 21cm 29.7cm; - margin-left: 2cm; - margin-right: 2cm; - marks:crop; -} -*/ -table.top -{ - border-top-style: solid; - border-top-width: thin; - border-color: black; -} - -table.bottom -{ - border-bottom-style: solid; - border-bottom-width: thin; - border-color: black; -} - -td.top -{ - border-top-style:solid; - border-top-width:1pt; -} -td.right -{ - border-right-style:solid; - border-right-width:1pt; -} -td.bottom -{ - border-bottom-style:solid; - border-bottom-width:1pt; -} -td.left -{ - border-left-style:solid; - border-left-width:1pt; -} - -/*Text innerhalb einer Tabellenzelle*/ -.AlignLeft -{ - text-align:left; -} -.AlignRight -{ - text-align:right; -} -.AlignCenter -{ - text-align:center; -} -.AlignJustify -{ - text-align:justify; -} -.VAlignTop { - vertical-align:top; -} -/***************************************************************/ -/* Legistik-Standard-Formatvorlage */ -/***************************************************************/ - -/* Formatvorlage: 00_LegStandard */ -.LegStandard -{ - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/***************************************************************/ -/* Formatvorlagen fuer Absaetze */ -/***************************************************************/ - -/* Formatvorlage: 01_Undefiniert */ -p.Undefiniert -{ - margin-top:1.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color: red; -} - -/* Formatvorlage: 02_BDGesBlatt */ -p.BDGesBlatt -{ - margin-top:14.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:35.0pt; - font-size:35.0pt; - font-family:"Times New Roman"; - color:black; - text-transform:uppercase; - letter-spacing:1.3pt; - font-weight:bold; -} - -/* Formatvorlage: 03_RepOesterr */ -p.RepOesterr -{ - margin-top:6.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - margin-bottom:12.0pt; - text-align:center; - line-height:20.0pt; - border:none; - padding:0cm; - font-size:20.0pt; - font-family:"Times New Roman"; - color:black; - text-transform:uppercase; - letter-spacing:1.0pt; - font-weight:bold; -} - -/* Formatvorlage: 04_AusgabeDaten */ -p.AusgabeDaten -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:14.0pt; - padding:0cm; - font-size:12.0pt; - font-family:"Times New Roman"; - color: black; - font-weight:bold; -} - -/* Formatvorlage: 05_Kurztitel */ -/* Kurztitel in einer Spalte (wenn kein TAB vorhanden ist) */ -p.Kurztitel1 -{ - margin-top:2.0pt; - margin-right: 0cm; - margin-bottom:0cm; - margin-left: 3.6cm; - text-align:justify; - text-indent: -3.6cm; - border:none; - padding:0cm; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Kurztitel in zwei Spalten (wenn ein TAB vorhanden ist) */ -p.Kurztitel2 -{ - margin-top:2.0pt; - margin-right: 0cm; - margin-bottom:0cm; - margin-left: 0cm; - text-align:justify; - border:none; - padding:0cm; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -span.Kurztitelbreite -{ - width: 3.4cm; -} - -/* Formatvorlage: 09_Abstand */ -p.Abstand -{ - margin:6.0pt; - margin-bottom:6.0pt; - line-height:10.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 10_Entwurf */ -p.Entwurf -{ - margin-top:80.0pt; - margin-right:0cm; - margin-bottom:64.0pt; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - letter-spacing:1.3pt; -} - -/* Formatvorlage: 11_Titel */ -p.Titel -{ - margin-top:24.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:11.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -/* Formatvorlage: 12_PromKl_EinlSatz */ -p.PromKlEinlSatz -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - text-indent:19.85pt; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 18_Abbildung_oder_Objekt */ -p.AbbildungoderObjekt -{ - margin-top:6.0pt; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 18_Abbildung_oder_Objekt */ -p.AbbildungoderObjektL -{ - margin-top:6.0pt; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - text-align:left; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 18_Abbildung_oder_Objekt */ -p.AbbildungoderObjektZ -{ - margin-top:6.0pt; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - text-align:center; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 18_Abbildung_oder_Objekt */ -p.AbbildungoderObjektR -{ - margin-top:6.0pt; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - text-align:right; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 19_Beschriftung */ -p.Beschriftung -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 19_Beschriftung */ -p.BeschriftungL -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - line-height:11.0pt; - text-align:left; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 19_Beschriftung */ -p.BeschriftungZ -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - line-height:11.0pt; - text-align:center; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 19_Beschriftung */ -p.BeschriftungR -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - line-height:11.0pt; - text-align:right; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 21_NovAo1 */ -p.NovAo1 -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; - font-style:italic; -} - -/* Formatvorlage: 22_NovAo1 */ -p.NovAo2 -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - font-style:italic; -} - -/* Formatvorlage: 23_Satz_(nach_Novao) */ -p.SatznachNovao -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 30_InhaltUeberschrift */ -p.InhaltUeberschrift -{ - margin-top:16.0pt; - margin-right:0cm; - margin-bottom:8.0pt; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -/* Formatvorlage: 31_InhaltSpalte */ -p.InhaltSpalte -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:4.0pt; - margin-left:0cm; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -/* Formatvorlage: 32_InhaltEintrag */ -p.InhaltEintrag -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 41_UeberschrG1 */ -p.UeberschrG1 -{ - margin-top:16.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:11.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 42_UeberschrG1- */ -p.UeberschrG1- -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:11.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 43_UeberschrG2 */ -p.UeberschrG2 -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:4.0pt; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:11.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 44_UeberschrArt */ -p.UeberschrArt -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 45_UeberschrPara */ -p.UeberschrPara -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 51_Abs */ -p.Abs -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - text-indent:19.85pt; -/* line-height:11.0pt; */ - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 52_Ziffer_e1 */ -p.ZifferE1 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 52_Ziffer_e2 */ -p.ZifferE2 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 52_Ziffer_e3 */ -p.ZifferE3 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 52_Ziffer_mit_Betrag */ -p.ZifferMitBetrag -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - punctuation-wrap:simple; - text-autospace:none; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 52aT_Ziffer_mit_Betrag_TGUE */ -p.ZifferMitBetragTGUE -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - punctuation-wrap:simple; - text-autospace:none; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 53_Litera_e1 */ -p.LiteraE1 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 53_Litera_e2 */ -p.LiteraE2 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 53_Litera_e3 */ -p.LiteraE3 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 53_Litera_mit_Betrag */ -p.LiteraMitBetrag -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - punctuation-wrap:simple; - text-autospace:none; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 53aT_Litera_mit_Betrag_TGUE */ -p.LiteraMitBetragTGUE -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - punctuation-wrap:simple; - text-autospace:none; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54_Sublitera_e1 */ -p.SubliteraE1 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54_Sublitera_e2 */ -p.SubliteraE2 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54_Sublitera_e3 */ -p.SubliteraE3 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54_Sublitera_mit_Betrag */ -p.SubliteraMitBetrag -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - punctuation-wrap:simple; - text-autospace:none; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54aT_Sublitera_mit_Betrag_TGUE */ -p.SubliteraMitBetragTGUE -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - punctuation-wrap:simple; - text-autospace:none; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54a_Strich_e1 */ -p.StrichE1 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54a_Strich_e2 */ -p.StrichE2 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54a_Strich_e3 */ -p.StrichE3 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54a_Strich_e4 */ -p.StrichE4 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54a_Strich_e5 */ -p.StrichE5 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 54a_Strich_e6 */ -p.StrichE6 -{ - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 54a_Strich_e7 */ -p.StrichE7 - { - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 55_SchlussteilAbs */ -p.SchlussteilAbs -{ - margin:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 56_SchlussteilZiff */ -p.SchlussteilZiff -{ - margin:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 57_SchlussteilLit */ -p.SchlussteilLit -{ - margin:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 61_TabText */ -p.TabText -{ - margin:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 61a_TabTextRechtsb */ -p.TabTextRechtsb -{ - margin:0cm; - text-align:right; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 61b_TabTextZentriert */ -p.TabTextZentriert -{ - margin:0cm; - text-align:center; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 61c_TabTextBlock */ -p.TabTextBlock -{ - margin:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 62_Kopfzeile */ -p.Kopfzeile -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color: #C0C0C0; -} - -/* Formatvorlage: 63_Fußzeile */ -p.Fusszeile -{ - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:9.0pt; - font-family:"Times New Roman"; - color: #C0C0C0; -} - -/* Formatvorlage: 64_FN_Linie */ -p.FNLinie -{ - margin-top:11.0pt; - margin-right:13.0cm; - margin-bottom:1.0pt; - margin-left:0cm; - line-height:11.0pt; - padding:0cm; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - border-bottom-style: solid; - border-bottom-color: Gray; - border-bottom-width: 1px; -} - -/* Formatvorlage: 65_FN_Text */ -p.FNText -{ - margin:0cm; - text-align:justify; - line-height:11.0pt; - font-size:9.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 66_FN_Zeichen */ -span.FNZeichen -{ - vertical-align:super; -} - -/* Formatvorlage: 68_UnterschrL */ -p.UnterschrL -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:left; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 69_UnterschrM */ -p.UnterschrM -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 71_Anlagenbez */ -p.Anlagenbez -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:right; - line-height:11.0pt; - font-size:11.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 81_ErlUeberschrZ */ -p.ErlUeberschrZ -{ - margin-top:16.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:11.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 82_ErlUeberschrL */ -p.ErlUeberschrL -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/* Formatvorlage: 83_ErlText */ -p.ErlText -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; -} - -/* Formatvorlage: 85_ErlAufzaehlg - noch nicht fertig */ -p.ErlAufzaehlg -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; -} - -/* Formatvorlage: 89_TGUE_UeberschrSpalte*/ -p.TGUEUeberschrSpalte -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:center; - line-height:11.0pt; - page-break-after:avoid; - font-size:10.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold; -} - -/***************************************************************/ -/* Formatvorlagen fuer Zeichenformatierung */ -/***************************************************************/ - -/* Formatvorlage: 990_Fehler */ -span.Fehler -{ - color: red; -} - -/* Formatvorlage: 991_GldSymbol */ -span.GldSymbol -{ - font-weight:bold; -} - -/* Formatvorlage: 992_Normal */ -span.Normal -{ - font-style: normal; -} - -/* Formatvorlage: 993_Fett */ -span.Fett -{ - font-weight:bold; -} - -/* Formatvorlage: 994_Kursiv */ -span.Kursiv -{ - font-style:italic; -} - -/* Formatvorlage: 995_Unterstrichen */ -span.Unterstrichen -{ - text-decoration:underline; -} - -/* Formatvorlage: 996_Gesperrt */ -span.Gesperrt -{ - letter-spacing:1.3pt; -} - -/* Formatvorlage: 997_Hoch */ -span.Hoch -{ - font-size: 50%; - vertical-align:super; -} - -/* Formatvorlage: 998_Tief */ -span.Tief -{ - font-size: 50%; - vertical-align:sub; -} - -/* Formatvorlage: 999_Fett_und_Kursiv */ -span.FettundKursiv -{ - font-weight:bold; - font-style:italic; -} - -/* Standardtabschrittweite aus Word */ -span.Standardtabulator -{ - width:35.45pt; -} - -/***************************************************************/ -/* Formatvorlagen der Parlamentsdirektion */ -/***************************************************************/ - -p.PD_Allonge, li.PD_Allonge, div.PD_Allonge -{ - margin-top:14.0pt; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - text-align:center; - font-size:14.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; -} - -p.PD_AllongeB, li.PD_AllongeB, div.PD_AllongeB -{ - margin-top:14.0pt; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - text-align:justify; - font-size:14.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; -} - -p.PD_AllongeL, li.PD_AllongeL, div.PD_AllongeL -{ - margin-top:14.0pt; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - font-size:14.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; -} - -p.PD_Antragsformel, li.PD_Antragsformel, div.PD_Antragsformel -{ - margin-top:14.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; -} - -p.PD_Datum, li.PD_Datum, div.PD_Datum -{ - margin-top:14.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; -} - -p.PD_Entschliessung, li.PD_Entschliessung, div.PD_Entschliessung -{ - margin-top:8.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:11.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; - font-weight:bold; -} - -p.PD_K1, li.PD_K1, div.PD_K1 -{ - margin:0cm; - text-align:center; - border:none; - padding:0cm; - font-size:12.0pt; - font-family:"Times New Roman"; - letter-spacing:-.4pt; - font-weight:bold; -} - -p.PD_K1Anlage, li.PD_K1Anlage, div.PD_K1Anlage -{ - margin:0cm; - text-align:right; - font-size:12.0pt; - font-family:"Times New Roman"; - letter-spacing:-.4pt; - font-weight:bold; -} - -p.PD_K1Ausg, li.PD_K1Ausg, div.PD_K1Ausg -{ - margin-top:62.9pt; - margin-right:0cm; - margin-bottom:27.0pt; - margin-left:0cm; - font-size:11.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -p.PD_K2, li.PD_K2, div.PD_K2 -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:11.35pt; - margin-left:0cm; - font-size:22.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -p.PD_K3, li.PD_K3, div.PD_K3 -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:20.0pt; - margin-left:0cm; - font-size:18.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -p.PD_K4, li.PD_K4, div.PD_K4 -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - font-size:13.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -p.PD_Kopfzeile, li.PD_Kopfzeile, div.PD_Kopfzeile -{ - margin-top:4.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; -} - -p.PD_U1, li.PD_U1, div.PD_U1 -{ - margin-top:22.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:10.0pt; - font-family:"Times New Roman"; - font-weight:bold; -} - -p.PD_U2, li.PD_U2, div.PD_U2 -{ - margin-top:5.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:0cm; - line-height:11.0pt; - font-size:9.0pt; - font-family:"Times New Roman"; -} - -p.PD_Vorlage, li.PD_Vorlage, div.PD_Vorlage -{ - margin-top:0cm; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - text-align:justify; - line-height:11.0pt; - font-size:11.0pt; - font-family:"Times New Roman"; - layout-grid-mode:line; - font-weight:bold; -} -</xsl:text> - </xsl:element> - </xsl:element> -</xsl:template> -<!-- ////////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:nutzdaten"> - <xsl:element name="body"> - <xsl:apply-templates/> - <xsl:apply-templates select="//bka:fnen" mode="dokumentende"/> - </xsl:element> -</xsl:template> - -<!-- ////////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:abschnitt"> - <xsl:variable name="layoutdaten" select = "//bka:layoutdaten"></xsl:variable> - <xsl:element name="div"> - <xsl:choose> - <xsl:when test="@paperf[.='q']"><!-- Querformat? --> - <xsl:if test="$layoutdaten/@paperh | @typ[.='ns']"> - <xsl:attribute name="class"> - <xsl:if test="$layoutdaten/@paperh"> - <xsl:text>paperh</xsl:text> - </xsl:if> - <xsl:if test="@typ[.='ns']"> - <xsl:if test="@nr[.>1]"> - <xsl:text> nextpage</xsl:text> - </xsl:if> - </xsl:if> - </xsl:attribute><!-- Abschnitt <xsl:value-of select="position()-1"/ --> - </xsl:if> - <xsl:apply-templates select="key('key_kzinhalt_typ', 'f')[1]" mode="dokumentanfang"/> - <xsl:apply-templates/> - <xsl:apply-templates select="key('key_fzinhalt_typ', 'f')[1]" mode="dokumentende"/> - </xsl:when> - <xsl:otherwise><!-- Hochformat (default) --> - <xsl:if test="$layoutdaten/@paperw | @typ[.='ns']"> - <xsl:attribute name="class"> - <xsl:if test="$layoutdaten/@paperw"> - <xsl:text>paperw</xsl:text> - </xsl:if> - <xsl:if test="@typ[.='ns']"> - <xsl:if test="@nr[.>1]"> - <xsl:text> nextpage</xsl:text> - </xsl:if> - </xsl:if> - </xsl:attribute><!--Abschnitt <xsl:value-of select="position()-1"/--> - </xsl:if> - <xsl:apply-templates select="key('key_kzinhalt_typ', 'f')[1]" mode="dokumentanfang"/> - <xsl:apply-templates/> - <xsl:apply-templates select="key('key_fzinhalt_typ', 'f')[1]" mode="dokumentende"/> - </xsl:otherwise> - </xsl:choose> - </xsl:element> -</xsl:template> -<!-- - ///////////////////////////////////////////////////////////////// - //// Ausgabedaten - ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:ausgabe"> - <xsl:element name="table"> - <xsl:attribute name="class">top bottom wi100</xsl:attribute> - <xsl:element name="tr"> - <xsl:apply-templates mode="erzeuge_ausgabe"/> - </xsl:element> - </xsl:element> -</xsl:template> - -<xsl:template match="bka:adtext" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignLeft</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> -</xsl:template> - -<xsl:template match="bka:addat" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignCenter</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> -</xsl:template> - -<xsl:template match="bka:adid" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignRight</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Kurztitel - ///////////////////////////////////////////////////////////////// --> -<xsl:template match="*" mode="erzeuge_zeilen"></xsl:template><!-- nichts tun --> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="key('key_ueberschrift_typ', 'kurztitel')" mode="erzeuge_zeilen"> - <xsl:element name="tr"> - <xsl:if test="bka:tab[1]"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel2 AlignLeft VAlignTop</xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">Kurztitelbreite</xsl:attribute> - <!-- Verarbeite nun alles was vor dem 1. Tabulator kommt. --> - <!-- tab[1]/preceding-sibling::text() bewirkt die Verarbeitung aller Textknoten vor dem 1. Tab. --> - <!-- tab[1]/preceding-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:for-each select="bka:tab[1]/preceding-sibling::text() | bka:tab[1]/preceding-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel2 AlignLeft</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem 1. Tabulator. --> - <!-- tab[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem 1. Tab. --> - <!-- tab[1]/following-sibling::* bewirkt die Verarbeitung der restlichen Tabulatoren und enthaltener Subknoten. --> - <xsl:for-each select="bka:tab[1]/following-sibling::text() | bka:tab[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:if> - <xsl:if test="not(bka:tab[1])"> - <!-- Da es keinen Tabulator gibt, wird nur eine Spalte erzeugt. --> - <xsl:element name="td"> - <xsl:attribute name="colspan">2</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel1 AlignLeft VAlignTop</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:if> - </xsl:element> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Inhaltsverzeichnis, HTML-Tabellen //// - ///////////////////////////////////////////////////////////////// --> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:inhaltsvz"> - <xsl:choose > - <xsl:when test="./@typ='ueberschrift'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltUeberschrift</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='spalte'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltSpalte</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='eintrag'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltEintrag</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:table"> - <xsl:element name="table"> - <xsl:attribute name="class"><xsl:value-of select = "generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:thead"> - <xsl:element name="thead"> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:tr"> - <xsl:element name="tr"> - <xsl:if test="./@*"> - <xsl:attribute name="class"><xsl:value-of select = "generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - </xsl:if> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:td"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:value-of select = "generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@colspan"> - <xsl:attribute name="colspan"><xsl:value-of select = "." /></xsl:attribute> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@rowspan"> - <xsl:attribute name="rowspan"><xsl:value-of select = "." /></xsl:attribute> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@border"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@cellspacing"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="@cellpadding"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@width"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@height"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@align"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@valign"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@style"> - <!-- Wurde in die dyn. class aufgenommen --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@class"> - <xsl:attribute name="class"><xsl:value-of select = "." /></xsl:attribute> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@nowrap"> - <!-- Derzeit nichts tun --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@h-start"> - <!-- nichts tun nur RTF-Info --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@h-xval"> - <!-- nichts tun nur RTF-Info --> -</xsl:template> - -<xsl:template name="checkForEmptyCell"> - <xsl:if test="ancestor::bka:table"> - <xsl:if test=". = ''"><xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/></xsl:if> - </xsl:if> - <xsl:apply-templates/> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Ueberschriften - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:ueberschrift"> - <xsl:choose > - <xsl:when test="./@typ='bdgesblatt'"> - <xsl:element name="p"> - <xsl:attribute name="class">BDGesBlatt</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='repoesterr'"> - <xsl:element name="p"> - <xsl:attribute name="class">RepOesterr</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='entwurf'"> - <xsl:element name="p"> - <xsl:attribute name="class">Entwurf</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='kurztitel'"> - <xsl:if test="not(name(preceding-sibling::*[1]) = 'ueberschrift')"> - <xsl:element name="table"> - <xsl:attribute name="class">bottom wi100</xsl:attribute> -<!-- <xsl:attribute name="parent"><xsl:value-of select="name(parent::*)"/></xsl:attribute> - <xsl:attribute name="preceding"><xsl:value-of select="name(preceding::*)"/></xsl:attribute> - <xsl:attribute name="preceding-sibling"><xsl:value-of select="name(preceding-sibling::*)"/></xsl:attribute> - <xsl:attribute name="preceding-sibling-typ"><xsl:value-of select="preceding-sibling::*/@typ"/></xsl:attribute> - <xsl:attribute name="count-preceding-sibling"><xsl:value-of select="count(preceding-sibling::*)"/></xsl:attribute> - <xsl:attribute name="count-preceding"><xsl:value-of select="count(preceding::*)"/></xsl:attribute> - <xsl:attribute name="yyy-sibling-typ"><xsl:value-of select="name(preceding-sibling::*[1])"/></xsl:attribute> - <xsl:attribute name="zzz-sibling-typ"><xsl:value-of select="name(preceding::*[1])"/></xsl:attribute> --> - <xsl:apply-templates select="../bka:ueberschrift" mode="erzeuge_zeilen"/> - </xsl:element> - </xsl:if> - </xsl:when> - <xsl:when test="./@typ='titel'"> - <xsl:element name="p"> - <xsl:attribute name="class">Titel</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g1'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG1</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g2'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG2</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g1min'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG1-</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='art'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrArt</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='para'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrPara</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='anlage'"> - <xsl:element name="p"> - <xsl:attribute name="class">Anlagenbez</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erlz'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlUeberschrZ</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erll'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlUeberschrL</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tgue'"> - <xsl:element name="p"> - <xsl:attribute name="class">TGUEUeberschrSpalte</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Absaetze - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:absatz"> - <xsl:choose > - <xsl:when test="./@typ='undef'"> - <xsl:element name="p"> - <xsl:attribute name="class">Undefiniert</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='promkleinlsatz'"> - <xsl:element name="p"> - <xsl:attribute name="class">PromKlEinlSatz</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='abs'"> - <xsl:element name="p"> - <xsl:attribute name="class">Abs</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='abbobj'"> - <xsl:element name="p"> - <xsl:choose > - <xsl:when test="./@halign='left'"> - <xsl:attribute name="class">AbbildungoderObjektL</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:when> - <xsl:when test="./@halign='center'"> - <xsl:attribute name="class">AbbildungoderObjektZ</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:when> - <xsl:when test="./@halign='right'"> - <xsl:attribute name="class">AbbildungoderObjektR</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="class">AbbildungoderObjekt</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='novao1'"> - <xsl:element name="p"> - <xsl:attribute name="class">NovAo1</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='novao2'"> - <xsl:element name="p"> - <xsl:attribute name="class">NovAo2</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='satz'"> - <xsl:element name="p"> - <xsl:attribute name="class">SatznachNovao</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtext'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabText</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextr'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextRechtsb</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextz'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextZentriert</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextb'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextBlock</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erltext'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlText</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='kz'"> - <xsl:element name="p"> - <xsl:attribute name="class">Kopfzeile</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='fz'"> - <xsl:element name="p"> - <xsl:attribute name="class">Fusszeile</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:abstand"> - <xsl:element name="p"> - <xsl:attribute name="class">Abstand</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Normale Liste / Aufzaehlung - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:liste"> - <xsl:element name="table"> - <xsl:attribute name="class">wi100</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:erlliste"> - <xsl:apply-templates mode="erzeuge_erl_liste"> - <xsl:with-param name="classname">ErlAufzaehlg</xsl:with-param> - </xsl:apply-templates> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:ziffernliste"> - <xsl:choose > - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">ZifferE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">ZifferE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">ZifferE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:literaliste"> - <xsl:choose > - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">LiteraE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">LiteraE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">LiteraE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:subliteraliste"> - <xsl:choose > - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">SubliteraE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">SubliteraE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">SubliteraE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:strichliste"> - <xsl:choose > - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">StrichE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">StrichE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">StrichE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='4'"> - <xsl:apply-templates mode="erzeuge_liste_ebene4"> - <xsl:with-param name="classname">StrichE4</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_erl_liste"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>WErl AlignRight VAlignTop</xsl:text></xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"> - <xsl:text>AlignJustify </xsl:text> - <xsl:choose> - <xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"> - <xsl:text>ErlSp2Q</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>ErlSp2</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_liste_ebene1"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"> - <xsl:text>AlignJustify </xsl:text> - <xsl:choose> - <xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"> - <xsl:text>E1Sp2Q</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>E1Sp2</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_liste_ebene2"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">W15 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"> - <xsl:text>AlignJustify </xsl:text> - <xsl:choose> - <xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"> - <xsl:text>E2Sp2Q</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>E2Sp2</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <xsl:attribute name="colspan">6</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_liste_ebene3"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"> - <xsl:text>AlignJustify </xsl:text> - <xsl:choose> - <xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"> - <xsl:text>E3Sp2Q</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>E3Sp2</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <xsl:attribute name="colspan">5</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_liste_ebene4"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"/> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"> - <xsl:text>AlignJustify </xsl:text> - <xsl:choose> - <xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"> - <xsl:text>E4Sp2Q</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>E4Sp2</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <xsl:attribute name="colspan">4</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:schluss"> - <xsl:choose > - <xsl:when test="./@typ='Abs'"><!-- Keine Einrückung --> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">8</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">SchlussteilAbs</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='Ziff'"><!-- wie Ebene 1 --> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:text>SchlussteilZiff</xsl:text></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='Lit'"> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">W15</xsl:attribute><!-- wie Ebene 2 --> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">6</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">SchlussteilLit</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Liste mit Betrag - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:betragliste"> - <xsl:choose > - <xsl:when test="./@typ='ziffer'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene1"> - <xsl:with-param name="classname">ZifferMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='litera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene2"> - <xsl:with-param name="classname">LiteraMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='sublitera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene3"> - <xsl:with-param name="classname">SubliteraMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:betraglistetgue"> - <xsl:choose > - <xsl:when test="./@typ='ziffer'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene1"> - <xsl:with-param name="classname">ZifferMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='litera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene2"> - <xsl:with-param name="classname">LiteraMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='sublitera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene3"> - <xsl:with-param name="classname">SubliteraMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene1"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class">AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">5</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select = "$classname"/><xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene2"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">4</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select = "$classname"/><xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene3"> - <xsl:param name = "classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">3</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select = "$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select = "$classname"/><xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Unterschrift - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:unterschrift"> - <xsl:choose > - <xsl:when test="./@typ='links'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrL</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='mitte'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrM</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='rechts'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrR</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Zeichenformatierung - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:error"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:gldsym"> - <xsl:element name="span"> - <xsl:attribute name="class">GldSymbol</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:n"> - <xsl:element name="span"> - <xsl:attribute name="class">Normal</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:f | bka:b"> - <xsl:element name="span"> - <xsl:attribute name="class">Fett</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:k | bka:i"> - <xsl:element name="span"> - <xsl:attribute name="class">Kursiv</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:u"> - <xsl:element name="span"> - <xsl:attribute name="class">Unterstrichen</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:gs"> - <xsl:element name="span"> - <xsl:attribute name="class">Gesperrt</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:h | bka:super"> - <xsl:element name="span"> - <xsl:attribute name="class">Hoch</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:t | bka:sub"> - <xsl:element name="span"> - <xsl:attribute name="class">Tief</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:fk"> - <xsl:element name="span"> - <xsl:attribute name="class">FettundKursiv</xsl:attribute> - <xsl:if test=".=' '"><xsl:value-of select = "." /></xsl:if><!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"><xsl:apply-templates/></xsl:if> - </xsl:element> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Sonderzeichen - ///////////////////////////////////////////////////////////////// --> - -<!-- ///////////////////////////////////////////////////////////////// geschütztes Leerzeichen --> -<xsl:template match="bka:nbsp"> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// doppeltes Anführungszeichen unten (typografisch) --> -<xsl:template match="bka:bdquo"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8222;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// doppeltes Anführungszeichen oben, links (typografisch) --> -<xsl:template match="bka:ldquo"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8220;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// kurzer Gedankenstrich --> -<xsl:template match="bka:kidea"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8211;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// langer Gedankenstrich --> -<xsl:template match="bka:lidea"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8212;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// geschützter Trennstrich --> -<xsl:template match="bka:gdash"> - <xsl:value-of disable-output-escaping="yes" select="string('&#45;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// bedingter Trennstrich (Silbentrennzeichen), Word spezifisch --> -<xsl:template match="bka:bdash"><!-- nichts tun --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// Euro-Zeichen --> -<xsl:template match="bka:euro"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8364;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// <-Zeichen --> -<xsl:template match="bka:lt"> - <xsl:value-of disable-output-escaping="yes" select="string('&lt;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// >-Zeichen --> -<xsl:template match="bka:gt"> - <xsl:value-of disable-output-escaping="yes" select="string('&gt;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// &-Zeichen --> -<xsl:template match="bka:amp"> - <xsl:value-of disable-output-escaping="yes" select="string('&amp;')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// Manueller Zeilenumbruch --> -<xsl:template match="bka:br"> - <xsl:value-of disable-output-escaping="yes" select="string('<br/>')"/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:tab"> - <!-- Da weder in HTML noch in CSS2 Tabulatoren moeglich sind, wird ein Tabulator durch ein Blank ersetzt, das in span eingeschlossen ist. --> - <xsl:element name="span"> - <xsl:attribute name="class">Standardtabulator</xsl:attribute> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// Zeilenwechsel / Spaltenwechsel--> -<xsl:template match="bka:wechsel"><!-- nichts tun --> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Verweise - ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:wwwlink"> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:text>[Verweis: </xsl:text> - <xsl:value-of select="@url"/> - <xsl:text>] </xsl:text> - <xsl:apply-templates/> - <!-- XHTML 1.1 --> - <!--xsl:element name="a"> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element--> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="@url"> - <xsl:attribute name="href"><xsl:value-of select = "." /></xsl:attribute> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////////////////// - //// Eingebettete base64-codierte Binärdaten - ///////////////////////////////////////////////////////////////////////////// - - Alle Binärdateien werden in ein Unterverzeichnis ausgelagert. - Nach dem alten eRecht-Schema mußte das binary-Element ein ref-Attribut besitzen, - das den relativen Dateinamen der ausgelagerten Datei enthält. - Nach dem neuen eRecht-Schema wird dieser relative Dateiname in einem - src-Element (unter dem binary-Element) gehalten. - Dieses Stylesheet-File unterstuetzt beide Varianten. --> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:binary"> - <xsl:element name="img"> - <xsl:if test="./@ref"> - <xsl:if test="./@ref = ''"> - <!-- Abfragen der Art <xsl:if test="./bka:src"> funktionieren nicht. --> - <xsl:apply-templates select="./bka:src"/> - </xsl:if> - <xsl:if test="not(./@ref = '')"> - <xsl:attribute name="src"><xsl:value-of select = "./@ref" /></xsl:attribute> - </xsl:if> - </xsl:if> - <xsl:if test="not(./@ref)"> - <!-- Abfragen der Art <xsl:if test="./bka:src"> funktionieren nicht. --> - <xsl:apply-templates select="./bka:src"/> - </xsl:if> - <xsl:attribute name="alt"><xsl:value-of select = "./@alt" /></xsl:attribute> - </xsl:element> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:src"> - <xsl:attribute name="src"><xsl:value-of select = "." /></xsl:attribute> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Beschriftung zu Grafiken - ///////////////////////////////////////////////////////////////// --> - -<xsl:template match="bka:beschr"> - <xsl:choose > - <xsl:when test="./@typ='links'"> - <xsl:element name="p"> - <xsl:attribute name="class">BeschriftungL</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='mitte'"> - <xsl:element name="p"> - <xsl:attribute name="class">BeschriftungZ</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='rechts'"> - <xsl:element name="p"> - <xsl:attribute name="class">BeschriftungR</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:attribute name="class">Beschriftung</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Fuß- und Endnoten - ///////////////////////////////////////////////////////////////// --> - -<!-- Fußzeilen sollen erst am Ende verarbeitet werden --> -<xsl:template match="bka:fnen"><!-- nichts tun --> -</xsl:template> - -<xsl:template match="bka:fnen" mode="dokumentende"> - <xsl:apply-templates/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<!-- In XHTML1.1: Statt dem Attribut "name" wird jetzt "id" verwendet. --> -<xsl:template match="bka:fnzeichen"> - <xsl:choose > - <xsl:when test="./@typ='f'"> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#FN')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('FNREF')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='e'"> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#EN')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('ENREF')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<!-- In XHTML1.1: Statt dem Attribut "name" wird jetzt "id" verwendet. --> -<xsl:template match="bka:fntext"> - <xsl:choose > - <xsl:when test="./@typ='f'"> - <xsl:if test="./@nr = 1"> - <xsl:element name="p"> - <xsl:attribute name="class">FNLinie</xsl:attribute> - </xsl:element> - </xsl:if> - <xsl:element name="p"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#FNREF')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('FN')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute><!-- unten kein FNZeichen! --> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='e'"> - <xsl:if test="./@nr = 1"> - <xsl:element name="p"> - <xsl:attribute name="class">FNLinie</xsl:attribute> - </xsl:element> - </xsl:if> - <xsl:element name="p"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#ENREF')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('EN')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute><!-- unten kein FNZeichen! --> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- - ///////////////////////////////////////////////////////////////// - //// Kopf- und Fußzeilen - ///////////////////////////////////////////////////////////////// --> - -<!-- Kopf- und Fußzeilen sollen an bestimmten Stellen verarbeitet werden und nicht dann wenn sie im XML-String vorkommen --> -<xsl:template match="bka:kzinhalt | bka:fzinhalt"><!-- nichts tun --> -</xsl:template> - -<!-- -<xsl:template match="fzinhalt" mode="dokumentende"> - <xsl:choose > - <xsl:when test="./@typ='f'"> - </xsl:when> - <xsl:when test="./@typ='p'"> - <xsl:apply-templates/> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> ---> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="key('key_kzinhalt_typ', 'f')" mode="dokumentanfang"> - <!--xsl:apply-templates/--><!-- keine Ausgabe gewuenscht --> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="key('key_fzinhalt_typ', 'f')" mode="dokumentende"> - <xsl:apply-templates/> -</xsl:template> - -<!-- ///////////////////////////////////////////////////////////////// --> -<xsl:template match="bka:symbol"> - <xsl:apply-templates/> -</xsl:template> - -<!-- //////////////Alle anderen Konstrukte//////////////////////////// --> -<xsl:template match="*"> - <!--xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsches Konstrukt: Bitte melden Sie den Fehler:</xsl:text> <xsl:value-of select="name()"></xsl:value-of> - </xsl:element> - <xsl:apply-templates/> - </xsl:element--> - <xsl:element name="{name()}"> - <xsl:for-each select = "./@*" > - <xsl:attribute name="{name()}"><xsl:value-of select="."></xsl:value-of></xsl:attribute> - </xsl:for-each> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -<!-- //////////// Folgende Elemente muessen ignoriert werden, da sie bereits anderweitig abgefragt werden. //////////// --> -<xsl:template match="bka:layoutdaten | bka:aw | bka:pdeinst"><!-- nichts tun --> -</xsl:template> - -<!-- ////////////// Parlamentsdirektion //////////////////////////// --> -<xsl:template match="bka:pdvorlage"> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="./bka:pdeinst[1]/@formatname"></xsl:value-of></xsl:attribute> - <xsl:apply-templates/> - </xsl:element> -</xsl:template> - -</xsl:stylesheet>
\ No newline at end of file diff --git a/spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.0.xsl b/spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.0.xsl deleted file mode 100644 index b2fddb3c1..000000000 --- a/spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.0.xsl +++ /dev/null @@ -1,1897 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:bka="http://www.bka.gv.at"> - <!-- - /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - Autor: Hermann Anderl, Klaus Schipany - Revision: 1.9.0 - Erstellt: 03.10.2003 - Modifiziert: - 23.12.2003 - Empfehlung Hr. Karlinger: keine DOCTYPE-Deklaration verwenden. - 29.12.2003 - Vereinbarung Hr. Karlinger: keine MS-Extensions: <msxsl:script> verwenden. - 17.12.2004 - Abstimmung Hr Karlinger: thead, tbody, tfoot heraus filtern. - 12.05.2005 - Div. Aenderungen. Der Parameter Encoding ist neu. Der Defaultwert ist ISO-8859-1 damit das bisherige Encoding beibehalten wird, wenn dieser Parameter nicht uebergeben wird. - 05.01.2006 - @halign bei <absatz>, <ueberschrift> und <beschr> Elementen prüfen. - 12.01.2006 - Die CSS-Reduktion erfolgt bereits im XML. Wurde aus dem Stylesheet entfernt. - 16.01.2006 - erzeuge_liste_ebene2, 3 und 4 wurde korrigiert. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --> - <xsl:param name="Encoding">ISO-8859-1</xsl:param> - <!-- Da beim Attr. encoding scheinbar keine Variable verwendet werden darf, wird das Encoding hier nochmals hardcoded. - Das bedeutet fuer den XML2XHTML-Konverter, dass er den Encoding-Parameter auch an dieser Stelle übergeben muss - (indem in dem DOM-Baum der dieses Stylesheet enthaelt die Nodes mit den hardcodeden Encodingtexten durch das gewünschte Encoding ersetzt werden. --> - <xsl:output method="xml" encoding="ISO-8859-1" omit-xml-declaration="yes" indent="yes"/> - <!-- -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - Bei der Erstellung dieses Stylesheets wurden folgende Kriterien angewandt: - 1.) Das generierbare XHTML Dokument entspricht der XHTML 1.1 Spezifikation + CSS 2(W3C). - 2.) Darüber hinaus folgt das Stylesheet den erweiterten Einschränkungen von SLXHTML in der Version 1.0.1 (18.12.2003), Gregor Karlinger. -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --> - <!-- - ///////////////////////////////////////////////////////////////// - //// Keys - ///////////////////////////////////////////////////////////////// --> - <xsl:key name="key_ueberschrift_typ" match="bka:ueberschrift" use="@typ"/> - <xsl:key name="key_kzinhalt_typ" match="bka:kzinhalt" use="@typ"/> - <xsl:key name="key_fzinhalt_typ" match="bka:fzinhalt" use="@typ"/> - <!-- - ///////////////////////////////////////////////////////////////// - //// Aufbau des XHTML-Dokuments - /////////////////////////////////////////////////////////////////--> - <xsl:template match="bka:erechtdok"> - <xsl:value-of disable-output-escaping="yes" select="string('<?xml version="1.0" encoding="')"/> - <xsl:value-of select="$Encoding"/> - <xsl:value-of disable-output-escaping="yes" select="string('"?>')"/> - <xsl:element name="html"> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ////////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:metadaten"> - <xsl:element name="head"> - <xsl:element name="title">eRecht Dokument (1.9.0)</xsl:element> - <xsl:element name="style"> - <xsl:attribute name="type">text/css</xsl:attribute> - <!-- Seitenränder dynamisch setzen --> - <xsl:variable name="layoutdaten" select="//bka:layoutdaten"/> - <!-- Die Breiten sind in Points (pt) angegeben und werden so weitergereicht. --> - <xsl:variable name="margt" select="$layoutdaten/@margt"/> - <xsl:variable name="margr" select="$layoutdaten/@margr"/> - <xsl:variable name="margb" select="$layoutdaten/@margb"/> - <xsl:variable name="margl" select="$layoutdaten/@margl"/> - <xsl:variable name="paperw" select="$layoutdaten/@paperw"/> - <xsl:variable name="paperh" select="$layoutdaten/@paperh"/> - <!-- Die CSS-Klassen werden aus dem XML übernommen --> - <xsl:value-of select="//bka:classes"/> - <!-- Aufzählungen: 1. Spalte 38 px, 2. Spalte 15 px, 3. Spalte 22 px, 4. Spalte 22 px (empirisch ermittelt)--> - <xsl:text> - .W38 { width:38px; }</xsl:text> - <xsl:text> - .W15 { width:15px; }</xsl:text> - <xsl:text> - .W22 { width:22px; }</xsl:text> - <xsl:text> - .wi100 { width:100%; }</xsl:text> - <!-- Erlaeuterungsaufzaehlung --> - <xsl:text> - .WErl { width:15px; }</xsl:text> - <!-- 2. Spalte: berechnet--> - <xsl:text> - .E1Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E4Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E5Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .ErlSp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 25"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E1Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E4Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E5Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .ErlSp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 25"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .nextpage { page-break-before:always; }</xsl:text> - <xsl:if test="$layoutdaten/@margt | $layoutdaten/@margr | $layoutdaten/@margb | $layoutdaten/@margl"> - <xsl:text> - .margins {</xsl:text> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-top:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-right:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-bottom:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-left:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}</xsl:text> - </xsl:if> - <!-- Seitenbreite dynamisch setzen (Hochformat) --> - <xsl:if test="$layoutdaten/@paperw"> - <xsl:text> - @media screen { .paperw {</xsl:text> - <xsl:value-of select="concat('width:', $paperw, 'px;')"/> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-top:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-right:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-bottom:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-left:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}}</xsl:text> - <xsl:text> - @media print { .paperw {</xsl:text> - <xsl:value-of select="concat('width:', $paperw, 'px;')"/> - <xsl:text>margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:portrait;</xsl:text> - <xsl:text>}}</xsl:text> - </xsl:if> - <!-- Seitenbreite ist die Höhe (Querformat), Drehung der Ränder nach "rechts" --> - <xsl:if test="$layoutdaten/@paperh"> - <xsl:text> - @media screen { .paperh {</xsl:text> - <xsl:value-of select="concat('width:', $paperh, 'px;')"/> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-right:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-bottom:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-left:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-top:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}}</xsl:text> - <xsl:text> - @media print { .paperh {</xsl:text> - <xsl:value-of select="concat('width:', $paperh, 'px;')"/> - <xsl:text>margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:landscape</xsl:text> - <xsl:text>}}</xsl:text> - </xsl:if> - <xsl:text> -/* Allgemeine Angaben zum Anzeigen von Linien in Tabellen */ -/* -@page :left {size: 21cm 29.7cm;margin-left: 2cm;margin-right: 2cm;marks:crop;} -@page :right {size: 21cm 29.7cm;margin-left: 2cm;margin-right: 2cm;marks:crop;} -*/ -table.top {border-top-style: solid;border-top-width: thin;border-color: black;} -table.bottom {border-bottom-style: solid;border-bottom-width: thin;border-color: black;} -td.top {border-top-style:solid;border-top-width:1pt;} -td.right {border-right-style:solid;border-right-width:1pt;} -td.bottom {border-bottom-style:solid;border-bottom-width:1pt;} -td.left {border-left-style:solid;border-left-width:1pt;} -/*Text innerhalb einer Tabellenzelle fuer "absatz" und "ueberschrift"*/ -.AlignLeft {text-align:left;} -.AlignRight {text-align:right;} -.AlignCenter {text-align:center;} -.AlignJustify {text-align:justify;} -.VAlignTop {vertical-align:top; } -/***************************************************************/ -/* Legistik-Standard-Formatvorlage */ -/* Formatvorlage: 00_LegStandard */ -/***************************************************************/ -.LegStandard { -text-align:justify;/*OK*/ -line-height:11.0pt; -font-size:10.0pt; -font-family:"Times New Roman";} -/***************************************************************/ -/* Formatvorlagen fuer Absaetze */ -/***************************************************************/ -/* Formatvorlage: 01_Undefiniert */ -p.Undefiniert {margin-top:1.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;/*OK*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color: red;} -/* Formatvorlage: 02_BDGesBlatt */ -p.BDGesBlatt {margin-top:14.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:35.0pt;font-size:35.0pt;font-family:"Times New Roman";color:black;text-transform:uppercase;letter-spacing:1.3pt;font-weight:bold;} -/* Formatvorlage: 03_RepOesterr */ -p.RepOesterr {margin-top:6.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;margin-bottom:12.0pt;/*text-align:center;*/line-height:20.0pt;border:none;padding:0cm;font-size:20.0pt;font-family:"Times New Roman";color:black;text-transform:uppercase;letter-spacing:1.0pt;font-weight:bold;} -/* Formatvorlage: 04_AusgabeDaten */ -p.AusgabeDaten {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:14.0pt;padding:0cm;font-size:12.0pt;font-family:"Times New Roman";color: black;font-weight:bold;} -/* Formatvorlage: 05_Kurztitel -Kurztitel in einer Spalte (wenn kein TAB vorhanden ist) */ -p.Kurztitel1 {margin-top:2.0pt;margin-right: 0cm;margin-bottom:0cm;margin-left: 3.6cm;/*text-align:justify;*/text-indent: -3.6cm;border:none;padding:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Kurztitel in zwei Spalten (wenn ein TAB vorhanden ist) */ -p.Kurztitel2 {margin-top:2.0pt;margin-right: 0cm;margin-bottom:0cm;margin-left: 0cm;/*text-align:justify;*/border:none;padding:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -span.Kurztitelbreite {width: 3.4cm;} -/* Formatvorlage: 09_Abstand */ -p.Abstand {margin:6.0pt;margin-bottom:6.0pt;line-height:10.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 10_Entwurf */ -p.Entwurf {margin-top:80.0pt;margin-right:0cm;margin-bottom:64.0pt;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";letter-spacing:1.3pt;} -/* Formatvorlage: 11_Titel */ -p.Titel {margin-top:24.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:bold;} -/* Formatvorlage: 12_PromKl_EinlSatz */ -p.PromKlEinlSatz {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/text-indent:19.85pt;line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 18_Abbildung_oder_Objekt */ -p.AbbildungoderObjekt {margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 19_Beschriftung */ -p.Beschriftung {margin-top:0cm;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 21_NovAo1 */ -p.NovAo1 {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;} -/* Formatvorlage: 22_NovAo1 */ -p.NovAo2 {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;} -/* Formatvorlage: 23_Satz_(nach_Novao) */ -p.SatznachNovao {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 30_InhaltUeberschrift */ -p.InhaltUeberschrift {margin-top:16.0pt;margin-right:0cm;margin-bottom:8.0pt;margin-left:0cm;text-align:center;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";font-weight:bold;} -/* Formatvorlage: 31_InhaltSpalte */ -p.InhaltSpalte {margin-top:4.0pt;margin-right:0cm;margin-bottom:4.0pt;margin-left:0cm;line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";font-weight:bold;} -/* Formatvorlage: 32_InhaltEintrag */ -p.InhaltEintrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 41_UeberschrG1 */ -p.UeberschrG1 {margin-top:16.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 42_UeberschrG1- */ -p.UeberschrG1- {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 43_UeberschrG2 */ -p.UeberschrG2 {margin-top:4.0pt;margin-right:0cm;margin-bottom:4.0pt;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 44_UeberschrArt */ -p.UeberschrArt {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 45_UeberschrPara */ -p.UeberschrPara {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 51_Abs */ -p.Abs {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/text-indent:19.85pt;/*line-height:11.0pt;*/font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 52_Ziffer_e1 - e3 */ -p.ZifferE1, p.ZifferE2, p.ZifferE3 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 52_Ziffer_mit_Betrag */ -p.ZifferMitBetrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 52aT_Ziffer_mit_Betrag_TGUE */ -p.ZifferMitBetragTGUE {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 53_Litera_e1 - e3 */ -p.LiteraE1, p.LiteraE2, p.LiteraE3 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 53_Litera_mit_Betrag */ -p.LiteraMitBetrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 53aT_Litera_mit_Betrag_TGUE */ -p.LiteraMitBetragTGUE {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54_Sublitera_e1 - e3 */ -p.SubliteraE1, p.SubliteraE2, p.SubliteraE3 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54_Sublitera_mit_Betrag */ -p.SubliteraMitBetrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54aT_Sublitera_mit_Betrag_TGUE */ -p.SubliteraMitBetragTGUE {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54a_Strich_e1 - e7 */ -p.StrichE1, p.StrichE2, p.StrichE3, p.StrichE4, p.StrichE5, p.StrichE6, p.StrichE7 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 55_SchlussteilAbs, 56_SchlussteilZiff, 57_SchlussteilLit*/ -p.SchlussteilAbs, p.SchlussteilZiff, p.SchlussteilLit {margin:0cm; line-height:11.0pt; font-size:10.0pt; font-family:"Times New Roman";} -/* Formatvorlage: 61_TabText */ -p.TabText {margin:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 61a_TabTextRechtsb */ -p.TabTextRechtsb {margin:0cm;text-align:right;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 61b_TabTextZentriert */ -p.TabTextZentriert {margin:0cm;text-align:center;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 61c_TabTextBlock */ -p.TabTextBlock {margin:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 62_Kopfzeile */ -p.Kopfzeile {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color: #C0C0C0;} -/* Formatvorlage: 63_Fußzeile */ -p.Fusszeile {margin-top:10.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:9.0pt;font-family:"Times New Roman";color: #C0C0C0;} -/* Formatvorlage: 64_FN_Linie */ -p.FNLinie {margin-top:11.0pt;margin-right:13.0cm;margin-bottom:1.0pt;margin-left:0cm;line-height:11.0pt;padding:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;border-bottom-style: solid;border-bottom-color: Gray;border-bottom-width: 1px;} -/* Formatvorlage: 65_FN_Text */ -p.FNText {margin:0cm;text-align:justify;line-height:11.0pt;font-size:9.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 66_FN_Zeichen */ -span.FNZeichen {vertical-align:super;} -/* Formatvorlage: 68_UnterschrL */ -p.UnterschrL {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:left;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 69_UnterschrM */ -p.UnterschrM {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:center;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 71_Anlagenbez */ -p.Anlagenbez {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:right;*/line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 81_ErlUeberschrZ */ -p.ErlUeberschrZ {margin-top:16.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 82_ErlUeberschrL */ -p.ErlUeberschrL {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 83_ErlText */ -p.ErlText {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 85_ErlAufzaehlg - noch nicht fertig */ -p.ErlAufzaehlg {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 89_TGUE_UeberschrSpalte*/ -p.TGUEUeberschrSpalte {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/***************************************************************/ -/* Formatvorlagen fuer Zeichenformatierung */ -/***************************************************************/ -/* Formatvorlage: 990_Fehler */ -span.Fehler {color: red;} -/* Formatvorlage: 991_GldSymbol */ -span.GldSymbol {font-weight:bold;} -/* Formatvorlage: 992_Normal */ -span.Normal {font-style: normal;} -/* Formatvorlage: 993_Fett */ -span.Fett {font-weight:bold;} -/* Formatvorlage: 994_Kursiv */ -span.Kursiv {font-style:italic;} -/* Formatvorlage: 995_Unterstrichen */ -span.Unterstrichen {text-decoration:underline;} -/* Formatvorlage: 996_Gesperrt */ -span.Gesperrt {letter-spacing:1.3pt;} -/* Formatvorlage: 997_Hoch */ -span.Hoch {line-height: 60%; font-size: 60%; vertical-align:super;} -/* Formatvorlage: 998_Tief */ -span.Tief {vertical-align:sub;} -/* Formatvorlage: 999_Fett_und_Kursiv */ -span.FettundKursiv {font-weight:bold; font-style:italic;} -/* Standardtabschrittweite aus Word */ -span.Standardtabulator {width:35.45pt;} -/***************************************************************/ -/* Formatvorlagen der Parlamentsdirektion */ -/***************************************************************/ -p.PDAllonge, li.PDAllonge, div.PDAllonge {margin-top:14.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;text-align:center;font-size:14.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDAllongeB, li.PDAllongeB, div.PDAllongeB {margin-top:14.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;text-align:justify;font-size:14.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDAllongeL, li.PDAllongeL, div.PDAllongeL {margin-top:14.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;font-size:14.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDAntragsformel, li.PDAntragsformel, div.PDAntragsformel {margin-top:14.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDDatum, li.PDDatum, div.PDDatum {margin-top:14.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDEntschliessung, li.PDEntschliessung, div.PDEntschliessung {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";layout-grid-mode:line;font-weight:bold;} -p.PDK1, li.PDK1, div.PDK1 {margin:0cm;text-align:center;border:none;padding:0cm;font-size:12.0pt;font-family:"Times New Roman";letter-spacing:-.4pt;font-weight:bold;} -p.PDK1Anlage, li.PDK1Anlage, div.PDK1Anlage {margin:0cm;text-align:right;font-size:12.0pt;font-family:"Times New Roman";letter-spacing:-.4pt;font-weight:bold;} -p.PDK1Ausg, li.PDK1Ausg, div.PDK1Ausg {margin-top:62.9pt;margin-right:0cm;margin-bottom:27.0pt;margin-left:0cm;font-size:11.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDK2, li.PDK2, div.PDK2 {margin-top:0cm;margin-right:0cm;margin-bottom:11.35pt;margin-left:0cm;font-size:22.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDK3, li.PDK3, div.PDK3 {margin-top:0cm;margin-right:0cm;margin-bottom:20.0pt;margin-left:0cm;font-size:18.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDK4, li.PDK4, div.PDK4 {margin-top:0cm;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;font-size:13.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDKopfzeile, li.PDKopfzeile, div.PDKopfzeile {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDU1, li.PDU1, div.PDU1 {margin-top:22.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDU2, li.PDU2, div.PDU2 {margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:9.0pt;font-family:"Times New Roman";} -p.PDVorlage, li.PDVorlage, div.PDVorlage {margin-top:0cm;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";layout-grid-mode:line;font-weight:bold;} -</xsl:text> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ////////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:nutzdaten"> - <xsl:element name="body"> - <xsl:apply-templates/> - <xsl:apply-templates select="//bka:fnen" mode="dokumentende"/> - </xsl:element> - </xsl:template> - <!-- ////////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:abschnitt"> - <xsl:variable name="layoutdaten" select="//bka:layoutdaten"/> - <xsl:element name="div"> - <xsl:choose> - <xsl:when test="@paperf[.='q']"> - <!-- Querformat? --> - <xsl:if test="$layoutdaten/@paperh | @typ[.='ns']"> - <xsl:attribute name="class"><xsl:if test="$layoutdaten/@paperh"><xsl:text>paperh</xsl:text></xsl:if><xsl:if test="@typ[.='ns']"><xsl:if test="@nr[.>1]"><xsl:text> nextpage</xsl:text></xsl:if></xsl:if></xsl:attribute> - <!-- Abschnitt <xsl:value-of select="position()-1"/ --> - </xsl:if> - <xsl:apply-templates select="key('key_kzinhalt_typ', 'f')[1]" mode="dokumentanfang"/> - <xsl:apply-templates/> - <xsl:apply-templates select="key('key_fzinhalt_typ', 'f')[1]" mode="dokumentende"/> - </xsl:when> - <xsl:otherwise> - <!-- Hochformat (default) --> - <xsl:if test="$layoutdaten/@paperw | @typ[.='ns']"> - <xsl:attribute name="class"><xsl:if test="$layoutdaten/@paperw"><xsl:text>paperw</xsl:text></xsl:if><xsl:if test="@typ[.='ns']"><xsl:if test="@nr[.>1]"><xsl:text> nextpage</xsl:text></xsl:if></xsl:if></xsl:attribute> - <!--Abschnitt <xsl:value-of select="position()-1"/--> - </xsl:if> - <xsl:apply-templates select="key('key_kzinhalt_typ', 'f')[1]" mode="dokumentanfang"/> - <xsl:apply-templates/> - <xsl:apply-templates select="key('key_fzinhalt_typ', 'f')[1]" mode="dokumentende"/> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Ausgabedaten - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:ausgabe"> - <xsl:element name="table"> - <xsl:attribute name="class">top bottom wi100</xsl:attribute> - <xsl:element name="tr"> - <xsl:apply-templates mode="erzeuge_ausgabe"/> - </xsl:element> - </xsl:element> - </xsl:template> - <xsl:template match="bka:adtext" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignLeft</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:template> - <xsl:template match="bka:addat" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignCenter</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:template> - <xsl:template match="bka:adid" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignRight</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Kurztitel - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="*" mode="erzeuge_zeilen"/> - <!-- nichts tun --> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="key('key_ueberschrift_typ', 'kurztitel')" mode="erzeuge_zeilen"> - <xsl:element name="tr"> - <xsl:if test="bka:tab[1]"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel2 AlignLeft VAlignTop</xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">Kurztitelbreite</xsl:attribute> - <!-- Verarbeite nun alles was vor dem 1. Tabulator kommt. --> - <!-- tab[1]/preceding-sibling::text() bewirkt die Verarbeitung aller Textknoten vor dem 1. Tab. --> - <!-- tab[1]/preceding-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:for-each select="bka:tab[1]/preceding-sibling::text() | bka:tab[1]/preceding-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel2 AlignLeft</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem 1. Tabulator. --> - <!-- tab[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem 1. Tab. --> - <!-- tab[1]/following-sibling::* bewirkt die Verarbeitung der restlichen Tabulatoren und enthaltener Subknoten. --> - <xsl:for-each select="bka:tab[1]/following-sibling::text() | bka:tab[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:if> - <xsl:if test="not(bka:tab[1])"> - <!-- Da es keinen Tabulator gibt, wird nur eine Spalte erzeugt. --> - <xsl:element name="td"> - <xsl:attribute name="colspan">2</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel1 AlignLeft VAlignTop</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Inhaltsverzeichnis, HTML-Tabellen //// - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:inhaltsvz"> - <xsl:choose> - <xsl:when test="./@typ='ueberschrift'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltUeberschrift <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='spalte'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltSpalte <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='eintrag'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltEintrag <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:table"> - <xsl:element name="table"> - <xsl:attribute name="class"><xsl:value-of select="generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:thead | bka:tfoot | bka:tbody"> - <!-- 20.12.04 heraus filtern--> - <!--xsl:element name="thead"> - <xsl:apply-templates select="./@*"/ --> - <xsl:apply-templates/> - <!-- /xsl:element --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:tr"> - <xsl:element name="tr"> - <xsl:if test="./@*"> - <xsl:attribute name="class"><xsl:value-of select="generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - </xsl:if> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:td"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:value-of select="generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@colspan"> - <xsl:attribute name="colspan"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@rowspan"> - <xsl:attribute name="rowspan"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@border"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@cellspacing"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@cellpadding"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@width"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@height"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@align"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@valign"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@style"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@class"> - <xsl:attribute name="class"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@nowrap"> - <!-- Derzeit nichts tun --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@h-start"> - <!-- nichts tun nur RTF-Info --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@h-xval"> - <!-- nichts tun nur RTF-Info --> - </xsl:template> - <xsl:template name="checkForEmptyCell"> - <xsl:if test="ancestor::bka:table"> - <xsl:if test=". = ''"> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:if> - </xsl:if> - <xsl:apply-templates/> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Ueberschriften - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:ueberschrift"> - <xsl:choose> - <xsl:when test="./@typ='bdgesblatt'"> - <xsl:element name="p"> - <xsl:attribute name="class">BDGesBlatt <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='repoesterr'"> - <xsl:element name="p"> - <xsl:attribute name="class">RepOesterr <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='entwurf'"> - <xsl:element name="p"> - <xsl:attribute name="class">Entwurf <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='kurztitel'"> - <xsl:if test="not(name(preceding-sibling::*[1]) = 'ueberschrift')"> - <xsl:element name="table"> - <xsl:attribute name="class">bottom wi100</xsl:attribute> - <!-- <xsl:attribute name="parent"><xsl:value-of select="name(parent::*)"/></xsl:attribute> - <xsl:attribute name="preceding"><xsl:value-of select="name(preceding::*)"/></xsl:attribute> - <xsl:attribute name="preceding-sibling"><xsl:value-of select="name(preceding-sibling::*)"/></xsl:attribute> - <xsl:attribute name="preceding-sibling-typ"><xsl:value-of select="preceding-sibling::*/@typ"/></xsl:attribute> - <xsl:attribute name="count-preceding-sibling"><xsl:value-of select="count(preceding-sibling::*)"/></xsl:attribute> - <xsl:attribute name="count-preceding"><xsl:value-of select="count(preceding::*)"/></xsl:attribute> - <xsl:attribute name="yyy-sibling-typ"><xsl:value-of select="name(preceding-sibling::*[1])"/></xsl:attribute> - <xsl:attribute name="zzz-sibling-typ"><xsl:value-of select="name(preceding::*[1])"/></xsl:attribute> --> - <xsl:apply-templates select="../bka:ueberschrift" mode="erzeuge_zeilen"/> - </xsl:element> - </xsl:if> - </xsl:when> - <xsl:when test="./@typ='titel'"> - <xsl:element name="p"> - <xsl:attribute name="class">Titel <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g1'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG1 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g2'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG2 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g1min'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG1- <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='art'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrArt <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='para'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrPara <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='anlage'"> - <xsl:element name="p"> - <xsl:attribute name="class">Anlagenbez <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erlz'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlUeberschrZ <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erll'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlUeberschrL <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tgue'"> - <xsl:element name="p"> - <xsl:attribute name="class">TGUEUeberschrSpalte <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Absaetze - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:absatz"> - <xsl:choose> - <xsl:when test="./@typ='undef'"> - <xsl:element name="p"> - <xsl:attribute name="class">Undefiniert</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='promkleinlsatz'"> - <xsl:element name="p"> - <xsl:attribute name="class">PromKlEinlSatz <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='abs'"> - <xsl:element name="p"> - <xsl:attribute name="class">Abs <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='abbobj'"> - <xsl:element name="p"> - <xsl:attribute name="class">AbbildungoderObjekt <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='novao1'"> - <xsl:element name="p"> - <xsl:attribute name="class">NovAo1 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='novao2'"> - <xsl:element name="p"> - <xsl:attribute name="class">NovAo2 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='satz'"> - <xsl:element name="p"> - <xsl:attribute name="class">SatznachNovao <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtext'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabText <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextr'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextRechtsb <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextz'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextZentriert <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextb'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextBlock <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erltext'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlText <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='kz'"> - <xsl:element name="p"> - <xsl:attribute name="class">Kopfzeile <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='fz'"> - <xsl:element name="p"> - <xsl:attribute name="class">Fusszeile <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:abstand"> - <xsl:element name="p"> - <xsl:attribute name="class">Abstand <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Normale Liste / Aufzaehlung - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:liste"> - <xsl:element name="table"> - <xsl:attribute name="class">wi100</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:erlliste"> - <xsl:apply-templates mode="erzeuge_erl_liste"> - <xsl:with-param name="classname">ErlAufzaehlg</xsl:with-param> - </xsl:apply-templates> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:ziffernliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">ZifferE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">ZifferE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">ZifferE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:literaliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">LiteraE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">LiteraE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">LiteraE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:subliteraliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">SubliteraE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">SubliteraE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">SubliteraE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:strichliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">StrichE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">StrichE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">StrichE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='4'"> - <xsl:apply-templates mode="erzeuge_liste_ebene4"> - <xsl:with-param name="classname">StrichE4</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_erl_liste"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>WErl AlignRight VAlignTop</xsl:text></xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>ErlSp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>ErlSp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene1"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E1Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E1Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene2"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W15 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E2Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E2Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">6</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene3"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W15 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E3Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E3Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">5</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene4"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W15 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W22 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E4Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E4Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">4</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:schluss"> - <xsl:choose> - <xsl:when test="./@typ='Abs'"> - <!-- Keine Einrückung --> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">8</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">SchlussteilAbs</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='Ziff'"> - <!-- wie Ebene 1 --> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:text>SchlussteilZiff</xsl:text></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='Lit'"> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">W15</xsl:attribute> - <!-- wie Ebene 2 --> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">6</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">SchlussteilLit</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Liste mit Betrag - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:betragliste"> - <xsl:choose> - <xsl:when test="./@typ='ziffer'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene1"> - <xsl:with-param name="classname">ZifferMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='litera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene2"> - <xsl:with-param name="classname">LiteraMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='sublitera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene3"> - <xsl:with-param name="classname">SubliteraMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:betraglistetgue"> - <xsl:choose> - <xsl:when test="./@typ='ziffer'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene1"> - <xsl:with-param name="classname">ZifferMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='litera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene2"> - <xsl:with-param name="classname">LiteraMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='sublitera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene3"> - <xsl:with-param name="classname">SubliteraMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene1"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class">AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">5</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select="$classname"/> - <xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene2"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">4</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select="$classname"/> - <xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene3"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">3</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select="$classname"/> - <xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Unterschrift - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:unterschrift"> - <xsl:choose> - <xsl:when test="./@typ='links'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrL</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='mitte'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrM</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='rechts'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrR</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Zeichenformatierung - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:error"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:gldsym"> - <xsl:element name="span"> - <xsl:attribute name="class">GldSymbol</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:n"> - <xsl:element name="span"> - <xsl:attribute name="class">Normal</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:f | bka:b"> - <xsl:element name="span"> - <xsl:attribute name="class">Fett</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:k | bka:i"> - <xsl:element name="span"> - <xsl:attribute name="class">Kursiv</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:u"> - <xsl:element name="span"> - <xsl:attribute name="class">Unterstrichen</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:gs"> - <xsl:element name="span"> - <xsl:attribute name="class">Gesperrt</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:h | bka:super"> - <xsl:element name="span"> - <xsl:attribute name="class">Hoch</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:t | bka:sub"> - <xsl:element name="span"> - <xsl:attribute name="class">Tief</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:fk"> - <xsl:element name="span"> - <xsl:attribute name="class">FettundKursiv</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Sonderzeichen - ///////////////////////////////////////////////////////////////// --> - <!-- ///////////////////////////////////////////////////////////////// Sonderzeichen mit gegebenem Code --> - <!-- A.H., 13. Mai 2005: Diese Regel ist neu wegen Punkt 4.33 aus dem Lastenheft. --> - <xsl:template match="bka:uchar"> - <xsl:value-of disable-output-escaping="yes" select="string('&#')"/> - <xsl:value-of select="@code"/> - <xsl:value-of disable-output-escaping="yes" select="string(';')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// geschütztes Leerzeichen --> - <xsl:template match="bka:nbsp"> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// doppeltes Anführungszeichen unten (typografisch) --> - <xsl:template match="bka:bdquo"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8222;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// doppeltes Anführungszeichen oben, links (typografisch) --> - <xsl:template match="bka:ldquo"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8220;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// kurzer Gedankenstrich --> - <xsl:template match="bka:kidea"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8211;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// langer Gedankenstrich --> - <xsl:template match="bka:lidea"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8212;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// geschützter Trennstrich --> - <xsl:template match="bka:gdash"> - <xsl:value-of disable-output-escaping="yes" select="string('&#45;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// bedingter Trennstrich (Silbentrennzeichen), Word spezifisch --> - <xsl:template match="bka:bdash"> - <!-- nichts tun --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// Euro-Zeichen --> - <xsl:template match="bka:euro"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8364;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// <-Zeichen --> - <xsl:template match="bka:lt"> - <xsl:value-of disable-output-escaping="yes" select="string('&lt;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// >-Zeichen --> - <xsl:template match="bka:gt"> - <xsl:value-of disable-output-escaping="yes" select="string('&gt;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// &-Zeichen --> - <xsl:template match="bka:amp"> - <xsl:value-of disable-output-escaping="yes" select="string('&amp;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// Manueller Zeilenumbruch --> - <xsl:template match="bka:br"> - <xsl:value-of disable-output-escaping="yes" select="string('<br/>')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:tab"> - <!-- Da weder in HTML noch in CSS2 Tabulatoren moeglich sind, wird ein Tabulator durch ein Blank ersetzt, das in span eingeschlossen ist. --> - <xsl:element name="span"> - <xsl:attribute name="class">Standardtabulator</xsl:attribute> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// Zeilenwechsel / Spaltenwechsel--> - <xsl:template match="bka:wechsel"> - <!-- nichts tun --> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Verweise - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:wwwlink"> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:text>[Verweis: </xsl:text> - <xsl:value-of select="@url"/> - <xsl:text>] </xsl:text> - <xsl:apply-templates/> - <!-- XHTML 1.1 --> - <!--xsl:element name="a"> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element--> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@url"> - <xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////////////////// - //// Eingebettete base64-codierte Binärdaten - ///////////////////////////////////////////////////////////////////////////// - - Alle Binärdateien werden in ein Unterverzeichnis ausgelagert. - Nach dem alten eRecht-Schema mußte das binary-Element ein ref-Attribut besitzen, - das den relativen Dateinamen der ausgelagerten Datei enthält. - Nach dem neuen eRecht-Schema wird dieser relative Dateiname in einem - src-Element (unter dem binary-Element) gehalten. - Dieses Stylesheet-File unterstuetzt beide Varianten. --> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:binary"> - <xsl:element name="img"> - <xsl:if test="./@ref"> - <xsl:if test="./@ref = ''"> - <!-- Abfragen der Art <xsl:if test="./bka:src"> funktionieren nicht. --> - <xsl:apply-templates select="./bka:src"/> - </xsl:if> - <xsl:if test="not(./@ref = '')"> - <xsl:attribute name="src"><xsl:value-of select="./@ref"/></xsl:attribute> - </xsl:if> - </xsl:if> - <xsl:if test="not(./@ref)"> - <!-- Abfragen der Art <xsl:if test="./bka:src"> funktionieren nicht. --> - <xsl:apply-templates select="./bka:src"/> - </xsl:if> - <xsl:attribute name="alt"><xsl:value-of select="./@alt"/></xsl:attribute> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:src"> - <xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Beschriftung zu Grafiken - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:beschr"> - <xsl:element name="p"> - <xsl:attribute name="class">Beschriftung <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Fuß- und Endnoten - ///////////////////////////////////////////////////////////////// --> - <!-- Fußzeilen sollen erst am Ende verarbeitet werden --> - <xsl:template match="bka:fnen"> - <!-- nichts tun --> - </xsl:template> - <xsl:template match="bka:fnen" mode="dokumentende"> - <xsl:apply-templates/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <!-- In XHTML1.1: Statt dem Attribut "name" wird jetzt "id" verwendet. --> - <xsl:template match="bka:fnzeichen"> - <xsl:choose> - <xsl:when test="./@typ='f'"> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#FN')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('FNREF')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNZeichen</xsl:attribute> - <xsl:value-of select="string('[')"/> - <xsl:apply-templates/> - <xsl:value-of select="string(']')"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='e'"> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#EN')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('ENREF')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNZeichen</xsl:attribute> - <xsl:value-of select="string('[')"/> - <xsl:apply-templates/> - <xsl:value-of select="string(']')"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='r'"> - <!-- Typ "r" ist neu seit 20. Juli 2004. Er steht fuer eine Referenz auf eine Fusz-/Endnote --> - <xsl:element name="span"> - <xsl:attribute name="class">FNZeichen</xsl:attribute> - <xsl:value-of select="string('[')"/> - <xsl:apply-templates/> - <xsl:value-of select="string(']')"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <!-- In XHTML1.1: Statt dem Attribut "name" wird jetzt "id" verwendet. --> - <xsl:template match="bka:fntext"> - <xsl:choose> - <xsl:when test="./@typ='f'"> - <xsl:if test="./@nr = 1"> - <xsl:element name="p"> - <xsl:attribute name="class">FNLinie</xsl:attribute> - </xsl:element> - </xsl:if> - <xsl:element name="p"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#FNREF')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('FN')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- unten kein FNZeichen! --> - <xsl:value-of select="string('[')"/> - <xsl:value-of select="./@nr"/> - <xsl:value-of select="string(']')"/> - </xsl:element> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='e'"> - <xsl:if test="./@nr = 1"> - <xsl:element name="p"> - <xsl:attribute name="class">FNLinie</xsl:attribute> - </xsl:element> - </xsl:if> - <xsl:element name="p"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#ENREF')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('EN')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- unten kein FNZeichen! --> - <xsl:value-of select="string('[')"/> - <xsl:value-of select="./@nr"/> - <xsl:value-of select="string(']')"/> - </xsl:element> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <!-- Bei Feldern soll nur ihr Inhalt nach HTML uebernommen werden. --> - <xsl:template match="bka:feld"> - <xsl:apply-templates/> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Kopf- und Fußzeilen - ///////////////////////////////////////////////////////////////// --> - <!-- Kopf- und Fußzeilen sollen an bestimmten Stellen verarbeitet werden und nicht dann wenn sie im XML-String vorkommen --> - <xsl:template match="bka:kzinhalt | bka:fzinhalt"> - <!-- nichts tun --> - </xsl:template> - <!-- -<xsl:template match="fzinhalt" mode="dokumentende"> - <xsl:choose > - <xsl:when test="./@typ='f'"> - </xsl:when> - <xsl:when test="./@typ='p'"> - <xsl:apply-templates/> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> ---> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="key('key_kzinhalt_typ', 'f')" mode="dokumentanfang"> - <!--xsl:apply-templates/--> - <!-- keine Ausgabe gewuenscht --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="key('key_fzinhalt_typ', 'f')" mode="dokumentende"> - <xsl:apply-templates/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:symbol"> - <xsl:apply-templates/> - </xsl:template> - <!-- //////////////Alle anderen Konstrukte//////////////////////////// --> - <xsl:template match="*"> - <!--xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsches Konstrukt: Bitte melden Sie den Fehler:</xsl:text> <xsl:value-of select="name()"></xsl:value-of> - </xsl:element> - <xsl:apply-templates/> - </xsl:element--> - <xsl:element name="{name()}"> - <xsl:for-each select="./@*"> - <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute> - </xsl:for-each> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- //////////// Folgende Elemente muessen ignoriert werden, da sie bereits anderweitig abgefragt werden. //////////// --> - <xsl:template match="bka:layoutdaten | bka:aw | bka:pdeinst"> - <!-- nichts tun --> - </xsl:template> - <!-- ////////////// Parlamentsdirektion //////////////////////////// --> - <xsl:template match="bka:pdvorlage"> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="./bka:pdeinst[1]/@formatname"/></xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ////////////// Ausrichtung von Abätzen (05.01.2006) //////////////////////////// --> - <xsl:template mode="halign" match="*"> - <!-- Jeder Absatz hat jetzt ein @halign --> - <xsl:if test="@halign"> - <xsl:choose> - <xsl:when test="@halign='c'"> - <xsl:text>AlignCenter</xsl:text> - </xsl:when> - <xsl:when test="@halign='r'"> - <xsl:text>AlignRight</xsl:text> - </xsl:when> - <xsl:when test="@halign='j'"> - <xsl:text>AlignJustify</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>AlignLeft</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:template> -</xsl:stylesheet> diff --git a/spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.1.xsl b/spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.1.xsl deleted file mode 100644 index bdc68a099..000000000 --- a/spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.1.xsl +++ /dev/null @@ -1,1954 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:bka="http://www.bka.gv.at"> - <!-- - /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - Autor: Hermann Anderl, Klaus Schipany - Revision: 1.9.1 - Erstellt: 03.10.2003 - Änderungen: - 23.12.2003 - Empfehlung Hr. Karlinger: keine DOCTYPE-Deklaration verwenden. - 29.12.2003 - Vereinbarung Hr. Karlinger: keine MS-Extensions: <msxsl:script> verwenden. - 17.12.2004 - Abstimmung Hr Karlinger: thead, tbody, tfoot heraus filtern. - 12.05.2005 - Div. Aenderungen. Der Parameter Encoding ist neu. Der Defaultwert ist ISO-8859-1 damit das bisherige Encoding beibehalten wird, wenn dieser Parameter nicht uebergeben wird. - 05.01.2006 - @halign bei <absatz>, <ueberschrift> und <beschr> Elementen prüfen. - 12.01.2006 - Die CSS-Reduktion erfolgt bereits im XML. Wurde aus dem Stylesheet entfernt. - 16.01.2006 - erzeuge_liste_ebene2, 3 und 4 wurde korrigiert. - 14.03.2006 - Verbesserte Darstellung von Aufzählungen mit Betrag (Ziffer, Litera, Strich); CSS für "66_FN_Zeichen" angepasst. - 06.04.2006 - span.Tief: line-height: 60%; font-size: 60%; hinzugefügt. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --> - <xsl:param name="Encoding">ISO-8859-1</xsl:param> - <!-- Da beim Attr. encoding scheinbar keine Variable verwendet werden darf, wird das Encoding hier nochmals hardcoded. - Das bedeutet fuer den XML2XHTML-Konverter, dass er den Encoding-Parameter auch an dieser Stelle übergeben muss - (indem in dem DOM-Baum der dieses Stylesheet enthaelt die Nodes mit den hardcodeden Encodingtexten durch das gewünschte Encoding ersetzt werden. --> - <xsl:output method="xml" encoding="ISO-8859-1" omit-xml-declaration="yes" indent="yes"/> - <!-- -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - Bei der Erstellung dieses Stylesheets wurden folgende Kriterien angewandt: - 1.) Das generierbare XHTML Dokument entspricht der XHTML 1.1 Spezifikation + CSS 2(W3C). - 2.) Darüber hinaus folgt das Stylesheet den erweiterten Einschränkungen von SLXHTML in der Version 1.0.1 (18.12.2003), Gregor Karlinger. -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --> - <!-- - ///////////////////////////////////////////////////////////////// - //// Keys - ///////////////////////////////////////////////////////////////// --> - <xsl:key name="key_ueberschrift_typ" match="bka:ueberschrift" use="@typ"/> - <xsl:key name="key_kzinhalt_typ" match="bka:kzinhalt" use="@typ"/> - <xsl:key name="key_fzinhalt_typ" match="bka:fzinhalt" use="@typ"/> - <!-- - ///////////////////////////////////////////////////////////////// - //// Aufbau des XHTML-Dokuments - /////////////////////////////////////////////////////////////////--> - <xsl:template match="bka:erechtdok"> - <xsl:value-of disable-output-escaping="yes" select="string('<?xml version="1.0" encoding="')"/> - <xsl:value-of select="$Encoding"/> - <xsl:value-of disable-output-escaping="yes" select="string('"?>')"/> - <xsl:element name="html"> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ////////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:metadaten"> - <xsl:element name="head"> - <xsl:element name="title">eRecht Dokument (1.9.0)</xsl:element> - <xsl:element name="style"> - <xsl:attribute name="type">text/css</xsl:attribute> - <!-- Seitenränder dynamisch setzen --> - <xsl:variable name="layoutdaten" select="//bka:layoutdaten"/> - <!-- Die Breiten sind in Points (pt) angegeben und werden so weitergereicht. --> - <xsl:variable name="margt" select="$layoutdaten/@margt"/> - <xsl:variable name="margr" select="$layoutdaten/@margr"/> - <xsl:variable name="margb" select="$layoutdaten/@margb"/> - <xsl:variable name="margl" select="$layoutdaten/@margl"/> - <xsl:variable name="paperw" select="$layoutdaten/@paperw"/> - <xsl:variable name="paperh" select="$layoutdaten/@paperh"/> - <!-- Die CSS-Klassen werden aus dem XML übernommen --> - <xsl:value-of select="//bka:classes"/> - <!-- Aufzählungen: 1. Spalte 38 px, 2. Spalte 15 px, 3. Spalte 22 px, 4. Spalte 22 px (empirisch ermittelt) + Rest --> - <xsl:text> - .W38 { width:38px; }</xsl:text> - <xsl:text> - .W15 { width:15px; }</xsl:text> - <xsl:text> - .W22 { width:22px; }</xsl:text> - <xsl:text> - .W90 { width:90px; }</xsl:text><!-- 2 cm für die beiden Aufzählungsspalten mit Betrag --> - <xsl:text> - .wi100 { width:100%; }</xsl:text> - <!-- Erlaeuterungsaufzaehlung --> - <xsl:text> - .WErl { width:15px; }</xsl:text> - <!-- 2. Spalte: berechnet--> - <xsl:text> - .E1Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E4Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E5Sp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .ErlSp2 { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 25"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E1Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E4Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E5Sp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 22 - 22"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .ErlSp2Q { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 25"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E1Sp2B { width:</xsl:text><!-- Aufzählung mit Betrag --> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2B { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2B { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 - 22 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E1Sp2BQ { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E2Sp2BQ { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .E3Sp2BQ { width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 - 22 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .TextWidth{ width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperw - 38 - 15 -22 -22 -22 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .TextWidthQ{ width:</xsl:text> - <xsl:value-of select="$layoutdaten/@paperh - 38 - 15 -22 -22 -22 - 90 - 90"/> - <xsl:text>px; }</xsl:text> - <xsl:text> - .invisible{ height: 0pt }</xsl:text> - invisible - <xsl:text> - .nextpage { page-break-before:always; }</xsl:text> - <xsl:if test="$layoutdaten/@margt | $layoutdaten/@margr | $layoutdaten/@margb | $layoutdaten/@margl"> - <xsl:text> - .margins {</xsl:text> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-top:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-right:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-bottom:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-left:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}</xsl:text> - </xsl:if> - <!-- Seitenbreite dynamisch setzen (Hochformat) --> - <xsl:if test="$layoutdaten/@paperw"> - <xsl:text> - @media screen { .paperw {</xsl:text> - <xsl:value-of select="concat('width:', $paperw, 'px;')"/> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-top:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-right:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-bottom:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-left:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}}</xsl:text> - <xsl:text> - @media print { .paperw {</xsl:text> - <xsl:value-of select="concat('width:', $paperw, 'px;')"/> - <xsl:text>margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:portrait;</xsl:text> - <xsl:text>}}</xsl:text> - </xsl:if> - <!-- Seitenbreite ist die Höhe (Querformat), Drehung der Ränder nach "rechts" --> - <xsl:if test="$layoutdaten/@paperh"> - <xsl:text> - @media screen { .paperh {</xsl:text> - <xsl:value-of select="concat('width:', $paperh, 'px;')"/> - <xsl:if test="$layoutdaten/@margt"> - <xsl:value-of select="concat('margin-right:', $margt, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margr"> - <xsl:value-of select="concat('margin-bottom:', $margr, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margb"> - <xsl:value-of select="concat('margin-left:', $margb, 'pt;')"/> - </xsl:if> - <xsl:if test="$layoutdaten/@margl"> - <xsl:value-of select="concat('margin-top:', $margl, 'pt;')"/> - </xsl:if> - <xsl:text>}}</xsl:text> - <xsl:text> - @media print { .paperh {</xsl:text> - <xsl:value-of select="concat('width:', $paperh, 'px;')"/> - <xsl:text>margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:landscape</xsl:text> - <xsl:text>}}</xsl:text> - </xsl:if> - <xsl:text> -/* Allgemeine Angaben zum Anzeigen von Linien in Tabellen */ -/* -@page :left {size: 21cm 29.7cm;margin-left: 2cm;margin-right: 2cm;marks:crop;} -@page :right {size: 21cm 29.7cm;margin-left: 2cm;margin-right: 2cm;marks:crop;} -*/ -table.top {border-top-style: solid;border-top-width: thin;border-color: black;} -table.bottom {border-bottom-style: solid;border-bottom-width: thin;border-color: black;} -td.top {border-top-style:solid;border-top-width:1pt;} -td.right {border-right-style:solid;border-right-width:1pt;} -td.bottom {border-bottom-style:solid;border-bottom-width:1pt;} -td.left {border-left-style:solid;border-left-width:1pt;} -/*Text innerhalb einer Tabellenzelle fuer "absatz" und "ueberschrift"*/ -.AlignLeft {text-align:left;} -.AlignRight {text-align:right;} -.AlignCenter {text-align:center;} -.AlignJustify {text-align:justify;} -.VAlignTop {vertical-align:top;} -.VAlignBottom {vertical-align:bottom;} -/***************************************************************/ -/* Legistik-Standard-Formatvorlage */ -/* Formatvorlage: 00_LegStandard */ -/***************************************************************/ -.LegStandard { -text-align:justify;/*OK*/ -line-height:11.0pt; -font-size:10.0pt; -font-family:"Times New Roman";} -/***************************************************************/ -/* Formatvorlagen fuer Absaetze */ -/***************************************************************/ -/* Formatvorlage: 01_Undefiniert */ -p.Undefiniert {margin-top:1.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;/*OK*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color: red;} -/* Formatvorlage: 02_BDGesBlatt */ -p.BDGesBlatt {margin-top:14.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:35.0pt;font-size:35.0pt;font-family:"Times New Roman";color:black;text-transform:uppercase;letter-spacing:1.3pt;font-weight:bold;} -/* Formatvorlage: 03_RepOesterr */ -p.RepOesterr {margin-top:6.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;margin-bottom:12.0pt;/*text-align:center;*/line-height:20.0pt;border:none;padding:0cm;font-size:20.0pt;font-family:"Times New Roman";color:black;text-transform:uppercase;letter-spacing:1.0pt;font-weight:bold;} -/* Formatvorlage: 04_AusgabeDaten */ -p.AusgabeDaten {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:14.0pt;padding:0cm;font-size:12.0pt;font-family:"Times New Roman";color: black;font-weight:bold;} -/* Formatvorlage: 05_Kurztitel -Kurztitel in einer Spalte (wenn kein TAB vorhanden ist) */ -p.Kurztitel1 {margin-top:2.0pt;margin-right: 0cm;margin-bottom:0cm;margin-left: 3.6cm;/*text-align:justify;*/text-indent: -3.6cm;border:none;padding:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Kurztitel in zwei Spalten (wenn ein TAB vorhanden ist) */ -p.Kurztitel2 {margin-top:2.0pt;margin-right: 0cm;margin-bottom:0cm;margin-left: 0cm;/*text-align:justify;*/border:none;padding:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -span.Kurztitelbreite {width: 3.4cm;} -/* Formatvorlage: 09_Abstand */ -p.Abstand {margin:6.0pt;margin-bottom:6.0pt;line-height:10.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 10_Entwurf */ -p.Entwurf {margin-top:80.0pt;margin-right:0cm;margin-bottom:64.0pt;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";letter-spacing:1.3pt;} -/* Formatvorlage: 11_Titel */ -p.Titel {margin-top:24.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:bold;} -/* Formatvorlage: 12_PromKl_EinlSatz */ -p.PromKlEinlSatz {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/text-indent:19.85pt;line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 18_Abbildung_oder_Objekt */ -p.AbbildungoderObjekt {margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 19_Beschriftung */ -p.Beschriftung {margin-top:0cm;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 21_NovAo1 */ -p.NovAo1 {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;} -/* Formatvorlage: 22_NovAo1 */ -p.NovAo2 {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";font-style:italic;} -/* Formatvorlage: 23_Satz_(nach_Novao) */ -p.SatznachNovao {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 30_InhaltUeberschrift */ -p.InhaltUeberschrift {margin-top:16.0pt;margin-right:0cm;margin-bottom:8.0pt;margin-left:0cm;text-align:center;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";font-weight:bold;} -/* Formatvorlage: 31_InhaltSpalte */ -p.InhaltSpalte {margin-top:4.0pt;margin-right:0cm;margin-bottom:4.0pt;margin-left:0cm;line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";font-weight:bold;} -/* Formatvorlage: 32_InhaltEintrag */ -p.InhaltEintrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 41_UeberschrG1 */ -p.UeberschrG1 {margin-top:16.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 42_UeberschrG1- */ -p.UeberschrG1- {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 43_UeberschrG2 */ -p.UeberschrG2 {margin-top:4.0pt;margin-right:0cm;margin-bottom:4.0pt;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 44_UeberschrArt */ -p.UeberschrArt {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 45_UeberschrPara */ -p.UeberschrPara {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 51_Abs */ -p.Abs {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/text-indent:19.85pt;/*line-height:11.0pt;*/font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 52_Ziffer_e1 - e3 */ -p.ZifferE1, p.ZifferE2, p.ZifferE3 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 52_Ziffer_mit_Betrag */ -p.ZifferMitBetrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 52aT_Ziffer_mit_Betrag_TGUE */ -p.ZifferMitBetragTGUE {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 53_Litera_e1 - e3 */ -p.LiteraE1, p.LiteraE2, p.LiteraE3 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 53_Litera_mit_Betrag */ -p.LiteraMitBetrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 53aT_Litera_mit_Betrag_TGUE */ -p.LiteraMitBetragTGUE {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54_Sublitera_e1 - e3 */ -p.SubliteraE1, p.SubliteraE2, p.SubliteraE3 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54_Sublitera_mit_Betrag */ -p.SubliteraMitBetrag {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54aT_Sublitera_mit_Betrag_TGUE */ -p.SubliteraMitBetragTGUE {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;punctuation-wrap:simple;text-autospace:none;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 54a_Strich_e1 - e7 */ -p.StrichE1, p.StrichE2, p.StrichE3, p.StrichE4, p.StrichE5, p.StrichE6, p.StrichE7 {margin-top:2.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 55_SchlussteilAbs, 56_SchlussteilZiff, 57_SchlussteilLit*/ -p.SchlussteilAbs, p.SchlussteilZiff, p.SchlussteilLit {margin:0cm; line-height:11.0pt; font-size:10.0pt; font-family:"Times New Roman";} -/* Formatvorlage: 61_TabText */ -p.TabText {margin:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 61a_TabTextRechtsb */ -p.TabTextRechtsb {margin:0cm;text-align:right;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 61b_TabTextZentriert */ -p.TabTextZentriert {margin:0cm;text-align:center;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 61c_TabTextBlock */ -p.TabTextBlock {margin:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 62_Kopfzeile */ -p.Kopfzeile {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color: #C0C0C0;} -/* Formatvorlage: 63_Fußzeile */ -p.Fusszeile {margin-top:10.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:9.0pt;font-family:"Times New Roman";color: #C0C0C0;} -/* Formatvorlage: 64_FN_Linie */ -p.FNLinie {margin-top:11.0pt;margin-right:13.0cm;margin-bottom:1.0pt;margin-left:0cm;line-height:11.0pt;padding:0cm;font-size:10.0pt;font-family:"Times New Roman";color:black;border-bottom-style: solid;border-bottom-color: Gray;border-bottom-width: 1px;} -/* Formatvorlage: 65_FN_Text */ -p.FNText {margin:0cm;text-align:justify;line-height:11.0pt;font-size:9.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 66_FN_Zeichen */ -span.FNZeichen {vertical-align:super; LAYOUT-GRID-MODE: line;} -/* Formatvorlage: 68_UnterschrL */ -p.UnterschrL {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:left;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 69_UnterschrM */ -p.UnterschrM {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:center;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 71_Anlagenbez */ -p.Anlagenbez {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:right;*/line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 81_ErlUeberschrZ */ -p.ErlUeberschrZ {margin-top:16.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:11.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 82_ErlUeberschrL */ -p.ErlUeberschrL {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/* Formatvorlage: 83_ErlText */ -p.ErlText {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:justify;*/line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";} -/* Formatvorlage: 85_ErlAufzaehlg - noch nicht fertig */ -p.ErlAufzaehlg {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";color:black;} -/* Formatvorlage: 89_TGUE_UeberschrSpalte*/ -p.TGUEUeberschrSpalte {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;/*text-align:center;*/line-height:11.0pt;page-break-after:avoid;font-size:10.0pt;font-family:"Times New Roman";color:black;font-weight:bold;} -/***************************************************************/ -/* Formatvorlagen fuer Zeichenformatierung */ -/***************************************************************/ -/* Formatvorlage: 990_Fehler */ -span.Fehler {color: red;} -/* Formatvorlage: 991_GldSymbol */ -span.GldSymbol {font-weight:bold;} -/* Formatvorlage: 992_Normal */ -span.Normal {font-style: normal;} -/* Formatvorlage: 993_Fett */ -span.Fett {font-weight:bold;} -/* Formatvorlage: 994_Kursiv */ -span.Kursiv {font-style:italic;} -/* Formatvorlage: 995_Unterstrichen */ -span.Unterstrichen {text-decoration:underline;} -/* Formatvorlage: 996_Gesperrt */ -span.Gesperrt {letter-spacing:1.3pt;} -/* Formatvorlage: 997_Hoch */ -span.Hoch {line-height: 60%; font-size: 60%; vertical-align:super;} -/* Formatvorlage: 998_Tief */ -span.Tief {line-height: 60%; font-size: 60%; vertical-align:sub;} -/* Formatvorlage: 999_Fett_und_Kursiv */ -span.FettundKursiv {font-weight:bold; font-style:italic;} -/* Standardtabschrittweite aus Word */ -span.Standardtabulator {width:35.45pt;} -/***************************************************************/ -/* Formatvorlagen der Parlamentsdirektion */ -/***************************************************************/ -p.PDAllonge, li.PDAllonge, div.PDAllonge {margin-top:14.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;text-align:center;font-size:14.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDAllongeB, li.PDAllongeB, div.PDAllongeB {margin-top:14.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;text-align:justify;font-size:14.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDAllongeL, li.PDAllongeL, div.PDAllongeL {margin-top:14.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;font-size:14.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDAntragsformel, li.PDAntragsformel, div.PDAntragsformel {margin-top:14.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDDatum, li.PDDatum, div.PDDatum {margin-top:14.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDEntschliessung, li.PDEntschliessung, div.PDEntschliessung {margin-top:8.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";layout-grid-mode:line;font-weight:bold;} -p.PDK1, li.PDK1, div.PDK1 {margin:0cm;text-align:center;border:none;padding:0cm;font-size:12.0pt;font-family:"Times New Roman";letter-spacing:-.4pt;font-weight:bold;} -p.PDK1Anlage, li.PDK1Anlage, div.PDK1Anlage {margin:0cm;text-align:right;font-size:12.0pt;font-family:"Times New Roman";letter-spacing:-.4pt;font-weight:bold;} -p.PDK1Ausg, li.PDK1Ausg, div.PDK1Ausg {margin-top:62.9pt;margin-right:0cm;margin-bottom:27.0pt;margin-left:0cm;font-size:11.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDK2, li.PDK2, div.PDK2 {margin-top:0cm;margin-right:0cm;margin-bottom:11.35pt;margin-left:0cm;font-size:22.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDK3, li.PDK3, div.PDK3 {margin-top:0cm;margin-right:0cm;margin-bottom:20.0pt;margin-left:0cm;font-size:18.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDK4, li.PDK4, div.PDK4 {margin-top:0cm;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;font-size:13.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDKopfzeile, li.PDKopfzeile, div.PDKopfzeile {margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";layout-grid-mode:line;} -p.PDU1, li.PDU1, div.PDU1 {margin-top:22.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:10.0pt;font-family:"Times New Roman";font-weight:bold;} -p.PDU2, li.PDU2, div.PDU2 {margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:11.0pt;font-size:9.0pt;font-family:"Times New Roman";} -p.PDVorlage, li.PDVorlage, div.PDVorlage {margin-top:0cm;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;text-align:justify;line-height:11.0pt;font-size:11.0pt;font-family:"Times New Roman";layout-grid-mode:line;font-weight:bold;} -</xsl:text> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ////////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:nutzdaten"> - <xsl:element name="body"> - <xsl:apply-templates/> - <xsl:apply-templates select="//bka:fnen" mode="dokumentende"/> - </xsl:element> - </xsl:template> - <!-- ////////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:abschnitt"> - <xsl:variable name="layoutdaten" select="//bka:layoutdaten"/> - <xsl:element name="div"> - <xsl:choose> - <xsl:when test="@paperf[.='q']"> - <!-- Querformat? --> - <xsl:if test="$layoutdaten/@paperh | @typ[.='ns']"> - <xsl:attribute name="class"><xsl:if test="$layoutdaten/@paperh"><xsl:text>paperh</xsl:text></xsl:if><xsl:if test="@typ[.='ns']"><xsl:if test="@nr[.>1]"><xsl:text> nextpage</xsl:text></xsl:if></xsl:if></xsl:attribute> - <!-- Abschnitt <xsl:value-of select="position()-1"/ --> - </xsl:if> - <xsl:apply-templates select="key('key_kzinhalt_typ', 'f')[1]" mode="dokumentanfang"/> - <xsl:apply-templates/> - <xsl:apply-templates select="key('key_fzinhalt_typ', 'f')[1]" mode="dokumentende"/> - </xsl:when> - <xsl:otherwise> - <!-- Hochformat (default) --> - <xsl:if test="$layoutdaten/@paperw | @typ[.='ns']"> - <xsl:attribute name="class"><xsl:if test="$layoutdaten/@paperw"><xsl:text>paperw</xsl:text></xsl:if><xsl:if test="@typ[.='ns']"><xsl:if test="@nr[.>1]"><xsl:text> nextpage</xsl:text></xsl:if></xsl:if></xsl:attribute> - <!--Abschnitt <xsl:value-of select="position()-1"/--> - </xsl:if> - <xsl:apply-templates select="key('key_kzinhalt_typ', 'f')[1]" mode="dokumentanfang"/> - <xsl:apply-templates/> - <xsl:apply-templates select="key('key_fzinhalt_typ', 'f')[1]" mode="dokumentende"/> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Ausgabedaten - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:ausgabe"> - <xsl:element name="table"> - <xsl:attribute name="class">top bottom wi100</xsl:attribute> - <xsl:element name="tr"> - <xsl:apply-templates mode="erzeuge_ausgabe"/> - </xsl:element> - </xsl:element> - </xsl:template> - <xsl:template match="bka:adtext" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignLeft</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:template> - <xsl:template match="bka:addat" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignCenter</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:template> - <xsl:template match="bka:adid" mode="erzeuge_ausgabe"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">AusgabeDaten AlignRight</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Kurztitel - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="*" mode="erzeuge_zeilen"/> - <!-- nichts tun --> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="key('key_ueberschrift_typ', 'kurztitel')" mode="erzeuge_zeilen"> - <xsl:element name="tr"> - <xsl:if test="bka:tab[1]"> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel2 AlignLeft VAlignTop</xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">Kurztitelbreite</xsl:attribute> - <!-- Verarbeite nun alles was vor dem 1. Tabulator kommt. --> - <!-- tab[1]/preceding-sibling::text() bewirkt die Verarbeitung aller Textknoten vor dem 1. Tab. --> - <!-- tab[1]/preceding-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:for-each select="bka:tab[1]/preceding-sibling::text() | bka:tab[1]/preceding-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel2 AlignLeft</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem 1. Tabulator. --> - <!-- tab[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem 1. Tab. --> - <!-- tab[1]/following-sibling::* bewirkt die Verarbeitung der restlichen Tabulatoren und enthaltener Subknoten. --> - <xsl:for-each select="bka:tab[1]/following-sibling::text() | bka:tab[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:if> - <xsl:if test="not(bka:tab[1])"> - <!-- Da es keinen Tabulator gibt, wird nur eine Spalte erzeugt. --> - <xsl:element name="td"> - <xsl:attribute name="colspan">2</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">Kurztitel1 AlignLeft VAlignTop</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:element> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Inhaltsverzeichnis, HTML-Tabellen //// - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:inhaltsvz"> - <xsl:choose> - <xsl:when test="./@typ='ueberschrift'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltUeberschrift <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='spalte'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltSpalte <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='eintrag'"> - <xsl:element name="p"> - <xsl:attribute name="class">InhaltEintrag <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:table"> - <xsl:element name="table"> - <xsl:attribute name="class"><xsl:value-of select="generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:thead | bka:tfoot | bka:tbody"> - <!-- 20.12.04 heraus filtern--> - <!--xsl:element name="thead"> - <xsl:apply-templates select="./@*"/ --> - <xsl:apply-templates/> - <!-- /xsl:element --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:tr"> - <xsl:element name="tr"> - <xsl:if test="./@*"> - <xsl:attribute name="class"><xsl:value-of select="generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - </xsl:if> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:td"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:value-of select="generate-id(.)"/></xsl:attribute> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@colspan"> - <xsl:attribute name="colspan"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@rowspan"> - <xsl:attribute name="rowspan"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@border"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@cellspacing"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@cellpadding"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@width"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@height"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@align"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@valign"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@style"> - <!-- Wurde in die dyn. class aufgenommen --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@class"> - <xsl:attribute name="class"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@nowrap"> - <!-- Derzeit nichts tun --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@h-start"> - <!-- nichts tun nur RTF-Info --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@h-xval"> - <!-- nichts tun nur RTF-Info --> - </xsl:template> - <xsl:template name="checkForEmptyCell"> - <xsl:if test="ancestor::bka:table"> - <xsl:if test=". = ''"> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:if> - </xsl:if> - <xsl:apply-templates/> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Ueberschriften - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:ueberschrift"> - <xsl:choose> - <xsl:when test="./@typ='bdgesblatt'"> - <xsl:element name="p"> - <xsl:attribute name="class">BDGesBlatt <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='repoesterr'"> - <xsl:element name="p"> - <xsl:attribute name="class">RepOesterr <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='entwurf'"> - <xsl:element name="p"> - <xsl:attribute name="class">Entwurf <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='kurztitel'"> - <xsl:if test="not(name(preceding-sibling::*[1]) = 'ueberschrift')"> - <xsl:element name="table"> - <xsl:attribute name="class">bottom wi100</xsl:attribute> - <!-- <xsl:attribute name="parent"><xsl:value-of select="name(parent::*)"/></xsl:attribute> - <xsl:attribute name="preceding"><xsl:value-of select="name(preceding::*)"/></xsl:attribute> - <xsl:attribute name="preceding-sibling"><xsl:value-of select="name(preceding-sibling::*)"/></xsl:attribute> - <xsl:attribute name="preceding-sibling-typ"><xsl:value-of select="preceding-sibling::*/@typ"/></xsl:attribute> - <xsl:attribute name="count-preceding-sibling"><xsl:value-of select="count(preceding-sibling::*)"/></xsl:attribute> - <xsl:attribute name="count-preceding"><xsl:value-of select="count(preceding::*)"/></xsl:attribute> - <xsl:attribute name="yyy-sibling-typ"><xsl:value-of select="name(preceding-sibling::*[1])"/></xsl:attribute> - <xsl:attribute name="zzz-sibling-typ"><xsl:value-of select="name(preceding::*[1])"/></xsl:attribute> --> - <xsl:apply-templates select="../bka:ueberschrift" mode="erzeuge_zeilen"/> - </xsl:element> - </xsl:if> - </xsl:when> - <xsl:when test="./@typ='titel'"> - <xsl:element name="p"> - <xsl:attribute name="class">Titel <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g1'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG1 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g2'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG2 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='g1min'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrG1- <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='art'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrArt <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='para'"> - <xsl:element name="p"> - <xsl:attribute name="class">UeberschrPara <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='anlage'"> - <xsl:element name="p"> - <xsl:attribute name="class">Anlagenbez <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erlz'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlUeberschrZ <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erll'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlUeberschrL <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tgue'"> - <xsl:element name="p"> - <xsl:attribute name="class">TGUEUeberschrSpalte <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Absaetze - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:absatz"> - <xsl:choose> - <xsl:when test="./@typ='undef'"> - <xsl:element name="p"> - <xsl:attribute name="class">Undefiniert</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='promkleinlsatz'"> - <xsl:element name="p"> - <xsl:attribute name="class">PromKlEinlSatz <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='abs'"> - <xsl:element name="p"> - <xsl:attribute name="class">Abs <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='abbobj'"> - <xsl:element name="p"> - <xsl:attribute name="class">AbbildungoderObjekt <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='novao1'"> - <xsl:element name="p"> - <xsl:attribute name="class">NovAo1 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='novao2'"> - <xsl:element name="p"> - <xsl:attribute name="class">NovAo2 <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='satz'"> - <xsl:element name="p"> - <xsl:attribute name="class">SatznachNovao <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtext'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabText <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextr'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextRechtsb <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextz'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextZentriert <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='tabtextb'"> - <xsl:element name="p"> - <xsl:attribute name="class">TabTextBlock <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='erltext'"> - <xsl:element name="p"> - <xsl:attribute name="class">ErlText <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='kz'"> - <xsl:element name="p"> - <xsl:attribute name="class">Kopfzeile <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='fz'"> - <xsl:element name="p"> - <xsl:attribute name="class">Fusszeile <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:abstand"> - <xsl:element name="p"> - <xsl:attribute name="class">Abstand <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Normale Liste / Aufzaehlung - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:liste"> - <xsl:element name="table"> - <xsl:attribute name="class">wi100</xsl:attribute> - <!--xsl:attribute name="border">1</xsl:attribute--> - <tr class="invisible"> - <td class="W38"></td> - <td class="W15"></td> - <td class="W22"></td> - <td class="W22"></td> - <td class="W22"></td> - <td class="TextWidth"></td> - <td class="W90"></td> - <td class="W90"></td> - </tr> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:erlliste"> - <xsl:apply-templates mode="erzeuge_erl_liste"> - <xsl:with-param name="classname">ErlAufzaehlg</xsl:with-param> - </xsl:apply-templates> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:ziffernliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">ZifferE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">ZifferE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">ZifferE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:literaliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">LiteraE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">LiteraE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">LiteraE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:subliteraliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">SubliteraE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">SubliteraE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">SubliteraE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:strichliste"> - <xsl:choose> - <xsl:when test="./@ebene='1'"> - <xsl:apply-templates mode="erzeuge_liste_ebene1"> - <xsl:with-param name="classname">StrichE1</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='2'"> - <xsl:apply-templates mode="erzeuge_liste_ebene2"> - <xsl:with-param name="classname">StrichE2</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='3'"> - <xsl:apply-templates mode="erzeuge_liste_ebene3"> - <xsl:with-param name="classname">StrichE3</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@ebene='4'"> - <xsl:apply-templates mode="erzeuge_liste_ebene4"> - <xsl:with-param name="classname">StrichE4</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsche Ebene: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_erl_liste"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>WErl AlignRight VAlignTop</xsl:text></xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>ErlSp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>ErlSp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene1"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E1Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E1Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene2"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W15 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E2Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E2Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">6</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene3"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W15 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E3Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E3Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">5</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_liste_ebene4"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W15 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W22 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E4Sp2Q</xsl:text></xsl:when><xsl:otherwise><xsl:text>E4Sp2</xsl:text></xsl:otherwise></xsl:choose></xsl:attribute> - <xsl:attribute name="colspan">4</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:schluss"> - <xsl:choose> - <xsl:when test="./@typ='Abs'"> - <!-- Keine Einrückung --> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">8</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">SchlussteilAbs</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='Ziff'"> - <!-- wie Ebene 1 --> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">7</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:text>SchlussteilZiff</xsl:text></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='Lit'"> - <xsl:element name="tr"> - <xsl:element name="td"/> - <xsl:element name="td"> - <xsl:attribute name="class">W15</xsl:attribute> - <!-- wie Ebene 2 --> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">AlignJustify</xsl:attribute> - <xsl:attribute name="colspan">6</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class">SchlussteilLit</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Liste mit Betrag - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:betragliste"> - <xsl:choose> - <xsl:when test="./@typ='ziffer'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene1"> - <xsl:with-param name="classname">ZifferMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='litera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene2"> - <xsl:with-param name="classname">LiteraMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='sublitera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene3"> - <xsl:with-param name="classname">SubliteraMitBetrag</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:betraglistetgue"> - <xsl:choose> - <xsl:when test="./@typ='ziffer'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene1"> - <xsl:with-param name="classname">ZifferMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='litera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene2"> - <xsl:with-param name="classname">LiteraMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./@typ='sublitera'"> - <xsl:apply-templates mode="erzeuge_betragliste_ebene3"> - <xsl:with-param name="classname">SubliteraMitBetragTGUE</xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene1"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class">W38 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E1Sp2BQ</xsl:text></xsl:when><xsl:otherwise><xsl:text>E1Sp2B</xsl:text></xsl:otherwise></xsl:choose> VAlignTop</xsl:attribute> - <xsl:attribute name="colspan">5</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td class="W90 AlignRight VAlignBottom"><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select="$classname"/> - <xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene2"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W15 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E2Sp2BQ</xsl:text></xsl:when><xsl:otherwise><xsl:text>E2Sp2B</xsl:text></xsl:otherwise></xsl:choose> VAlignTop</xsl:attribute> - <xsl:attribute name="colspan">4</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td class="W90 AlignRight VAlignBottom"><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select="$classname"/> - <xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:listelem" mode="erzeuge_betragliste_ebene3"> - <xsl:param name="classname"/> - <xsl:element name="tr"> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W38 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>W15 AlignRight VAlignTop</xsl:text></xsl:attribute> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class">W22 AlignRight VAlignTop</xsl:attribute> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:apply-templates select="bka:symbol[1]"/> - </xsl:element> - </xsl:element> - <xsl:element name="td"> - <xsl:attribute name="class"><xsl:text>AlignJustify </xsl:text><xsl:choose><xsl:when test="ancestor::bka:abschnitt/@paperf[.='q']"><xsl:text>E1Sp2BQ</xsl:text></xsl:when><xsl:otherwise><xsl:text>E1Sp2B</xsl:text></xsl:otherwise></xsl:choose> VAlignTop</xsl:attribute> - <xsl:attribute name="colspan">3</xsl:attribute> - <!-- Verarbeite nun den Rest ab dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::text() bewirkt die Verarbeitung aller Textknoten nach dem Symbolknoten. --> - <!-- symbol[1]/following-sibling::* bewirkt die Verarbeitung der enthaltenen Subknoten. --> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="$classname"/></xsl:attribute> - <xsl:for-each select="bka:symbol[1]/following-sibling::text() | bka:symbol[1]/following-sibling::*"> - <xsl:if test="name() = 'tab'"> - <xsl:value-of select="string('</p></td><td class="W90 AlignRight VAlignBottom"><p class="')" disable-output-escaping="yes"/> - <xsl:value-of select="$classname"/> - <xsl:value-of select="string('">')" disable-output-escaping="yes"/> - </xsl:if> - <xsl:if test="name() != 'tab'"> - <xsl:apply-templates select="."/> - </xsl:if> - </xsl:for-each> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Unterschrift - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:unterschrift"> - <xsl:choose> - <xsl:when test="./@typ='links'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrL</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='mitte'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrM</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='rechts'"> - <xsl:element name="p"> - <xsl:attribute name="class">UnterschrR</xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Zeichenformatierung - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:error"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:gldsym"> - <xsl:element name="span"> - <xsl:attribute name="class">GldSymbol</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:n"> - <xsl:element name="span"> - <xsl:attribute name="class">Normal</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:f | bka:b"> - <xsl:element name="span"> - <xsl:attribute name="class">Fett</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:k | bka:i"> - <xsl:element name="span"> - <xsl:attribute name="class">Kursiv</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:u"> - <xsl:element name="span"> - <xsl:attribute name="class">Unterstrichen</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:gs"> - <xsl:element name="span"> - <xsl:attribute name="class">Gesperrt</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:h | bka:super"> - <xsl:element name="span"> - <xsl:attribute name="class">Hoch</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:t | bka:sub"> - <xsl:element name="span"> - <xsl:attribute name="class">Tief</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:fk"> - <xsl:element name="span"> - <xsl:attribute name="class">FettundKursiv</xsl:attribute> - <xsl:if test=".=' '"> - <xsl:value-of select="."/> - </xsl:if> - <!-- MSXSL reduziert mehrere Blanks auf eines. --> - <xsl:if test="not(.=' ')"> - <xsl:apply-templates/> - </xsl:if> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Sonderzeichen - ///////////////////////////////////////////////////////////////// --> - <!-- ///////////////////////////////////////////////////////////////// Sonderzeichen mit gegebenem Code --> - <!-- A.H., 13. Mai 2005: Diese Regel ist neu wegen Punkt 4.33 aus dem Lastenheft. --> - <xsl:template match="bka:uchar"> - <xsl:value-of disable-output-escaping="yes" select="string('&#')"/> - <xsl:value-of select="@code"/> - <xsl:value-of disable-output-escaping="yes" select="string(';')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// geschütztes Leerzeichen --> - <xsl:template match="bka:nbsp"> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// doppeltes Anführungszeichen unten (typografisch) --> - <xsl:template match="bka:bdquo"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8222;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// doppeltes Anführungszeichen oben, links (typografisch) --> - <xsl:template match="bka:ldquo"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8220;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// kurzer Gedankenstrich --> - <xsl:template match="bka:kidea"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8211;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// langer Gedankenstrich --> - <xsl:template match="bka:lidea"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8212;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// geschützter Trennstrich --> - <xsl:template match="bka:gdash"> - <xsl:value-of disable-output-escaping="yes" select="string('&#45;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// bedingter Trennstrich (Silbentrennzeichen), Word spezifisch --> - <xsl:template match="bka:bdash"> - <!-- nichts tun --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// Euro-Zeichen --> - <xsl:template match="bka:euro"> - <xsl:value-of disable-output-escaping="yes" select="string('&#8364;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// <-Zeichen --> - <xsl:template match="bka:lt"> - <xsl:value-of disable-output-escaping="yes" select="string('&lt;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// >-Zeichen --> - <xsl:template match="bka:gt"> - <xsl:value-of disable-output-escaping="yes" select="string('&gt;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// &-Zeichen --> - <xsl:template match="bka:amp"> - <xsl:value-of disable-output-escaping="yes" select="string('&amp;')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// Manueller Zeilenumbruch --> - <xsl:template match="bka:br"> - <xsl:value-of disable-output-escaping="yes" select="string('<br/>')"/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:tab"> - <!-- Da weder in HTML noch in CSS2 Tabulatoren moeglich sind, wird ein Tabulator durch ein Blank ersetzt, das in span eingeschlossen ist. --> - <xsl:element name="span"> - <xsl:attribute name="class">Standardtabulator</xsl:attribute> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// Zeilenwechsel / Spaltenwechsel--> - <xsl:template match="bka:wechsel"> - <!-- nichts tun --> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Verweise - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:wwwlink"> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:text>[Verweis: </xsl:text> - <xsl:value-of select="@url"/> - <xsl:text>] </xsl:text> - <xsl:apply-templates/> - <!-- XHTML 1.1 --> - <!--xsl:element name="a"> - <xsl:apply-templates select="./@*"/> - <xsl:apply-templates/> - </xsl:element--> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="@url"> - <xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////////////////// - //// Eingebettete base64-codierte Binärdaten - ///////////////////////////////////////////////////////////////////////////// - - Alle Binärdateien werden in ein Unterverzeichnis ausgelagert. - Nach dem alten eRecht-Schema mußte das binary-Element ein ref-Attribut besitzen, - das den relativen Dateinamen der ausgelagerten Datei enthält. - Nach dem neuen eRecht-Schema wird dieser relative Dateiname in einem - src-Element (unter dem binary-Element) gehalten. - Dieses Stylesheet-File unterstuetzt beide Varianten. --> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:binary"> - <xsl:element name="img"> - <xsl:if test="./@ref"> - <xsl:if test="./@ref = ''"> - <!-- Abfragen der Art <xsl:if test="./bka:src"> funktionieren nicht. --> - <xsl:apply-templates select="./bka:src"/> - </xsl:if> - <xsl:if test="not(./@ref = '')"> - <xsl:attribute name="src"><xsl:value-of select="./@ref"/></xsl:attribute> - </xsl:if> - </xsl:if> - <xsl:if test="not(./@ref)"> - <!-- Abfragen der Art <xsl:if test="./bka:src"> funktionieren nicht. --> - <xsl:apply-templates select="./bka:src"/> - </xsl:if> - <xsl:attribute name="alt"><xsl:value-of select="./@alt"/></xsl:attribute> - </xsl:element> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:src"> - <xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Beschriftung zu Grafiken - ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:beschr"> - <xsl:element name="p"> - <xsl:attribute name="class">Beschriftung <xsl:apply-templates mode="halign" select="."/></xsl:attribute> - <xsl:call-template name="checkForEmptyCell"/> - </xsl:element> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Fuß- und Endnoten - ///////////////////////////////////////////////////////////////// --> - <!-- Fußzeilen sollen erst am Ende verarbeitet werden --> - <xsl:template match="bka:fnen"> - <!-- nichts tun --> - </xsl:template> - <xsl:template match="bka:fnen" mode="dokumentende"> - <xsl:apply-templates/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <!-- In XHTML1.1: Statt dem Attribut "name" wird jetzt "id" verwendet. --> - <xsl:template match="bka:fnzeichen"> - <xsl:choose> - <xsl:when test="./@typ='f'"> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#FN')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('FNREF')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNZeichen</xsl:attribute> - <xsl:value-of select="string('[')"/> - <xsl:apply-templates/> - <xsl:value-of select="string(']')"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='e'"> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#EN')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('ENREF')" /><xsl:value-of select = "." /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:apply-templates/> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNZeichen</xsl:attribute> - <xsl:value-of select="string('[')"/> - <xsl:apply-templates/> - <xsl:value-of select="string(']')"/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='r'"> - <!-- Typ "r" ist neu seit 20. Juli 2004. Er steht fuer eine Referenz auf eine Fusz-/Endnote --> - <xsl:element name="span"> - <xsl:attribute name="class">FNZeichen</xsl:attribute> - <xsl:value-of select="string('[')"/> - <xsl:apply-templates/> - <xsl:value-of select="string(']')"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <!-- In XHTML1.1: Statt dem Attribut "name" wird jetzt "id" verwendet. --> - <xsl:template match="bka:fntext"> - <xsl:choose> - <xsl:when test="./@typ='f'"> - <xsl:if test="./@nr = 1"> - <xsl:element name="p"> - <xsl:attribute name="class">FNLinie</xsl:attribute> - </xsl:element> - </xsl:if> - <xsl:element name="p"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#FNREF')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('FN')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- unten kein FNZeichen! --> - <xsl:value-of select="string('[')"/> - <xsl:value-of select="./@nr"/> - <xsl:value-of select="string(']')"/> - </xsl:element> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="./@typ='e'"> - <xsl:if test="./@nr = 1"> - <xsl:element name="p"> - <xsl:attribute name="class">FNLinie</xsl:attribute> - </xsl:element> - </xsl:if> - <xsl:element name="p"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- XHTML 1.1 Lösung --> - <!--xsl:element name="a"> - <xsl:attribute name="href"><xsl:value-of select = "string('#ENREF')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:attribute name="id"><xsl:value-of select = "string('EN')" /><xsl:value-of select = "./@nr" /></xsl:attribute> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <xsl:value-of select = "string('[')" /> - <xsl:value-of select = "./@nr" /> - <xsl:value-of select = "string(']')" /> - </xsl:element> - </xsl:element--> - <!-- SLXHTML 1.0.1 unterstützt das Hypertext Modul NICHT --> - <xsl:element name="span"> - <xsl:attribute name="class">FNText</xsl:attribute> - <!-- unten kein FNZeichen! --> - <xsl:value-of select="string('[')"/> - <xsl:value-of select="./@nr"/> - <xsl:value-of select="string(']')"/> - </xsl:element> - <xsl:value-of disable-output-escaping="yes" select="string('&#160;')"/> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <!-- Bei Feldern soll nur ihr Inhalt nach HTML uebernommen werden. --> - <xsl:template match="bka:feld"> - <xsl:apply-templates/> - </xsl:template> - <!-- - ///////////////////////////////////////////////////////////////// - //// Kopf- und Fußzeilen - ///////////////////////////////////////////////////////////////// --> - <!-- Kopf- und Fußzeilen sollen an bestimmten Stellen verarbeitet werden und nicht dann wenn sie im XML-String vorkommen --> - <xsl:template match="bka:kzinhalt | bka:fzinhalt"> - <!-- nichts tun --> - </xsl:template> - <!-- -<xsl:template match="fzinhalt" mode="dokumentende"> - <xsl:choose > - <xsl:when test="./@typ='f'"> - </xsl:when> - <xsl:when test="./@typ='p'"> - <xsl:apply-templates/> - </xsl:when> - <xsl:otherwise> - <xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falscher Typ: Bitte melden Sie den Fehler:</xsl:text> - </xsl:element> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> ---> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="key('key_kzinhalt_typ', 'f')" mode="dokumentanfang"> - <!--xsl:apply-templates/--> - <!-- keine Ausgabe gewuenscht --> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="key('key_fzinhalt_typ', 'f')" mode="dokumentende"> - <xsl:apply-templates/> - </xsl:template> - <!-- ///////////////////////////////////////////////////////////////// --> - <xsl:template match="bka:symbol"> - <xsl:apply-templates/> - </xsl:template> - <!-- //////////////Alle anderen Konstrukte//////////////////////////// --> - <xsl:template match="*"> - <!--xsl:element name="p"> - <xsl:element name="span"> - <xsl:attribute name="class">Fehler</xsl:attribute> - <xsl:text>Falsches Konstrukt: Bitte melden Sie den Fehler:</xsl:text> <xsl:value-of select="name()"></xsl:value-of> - </xsl:element> - <xsl:apply-templates/> - </xsl:element--> - <xsl:element name="{name()}"> - <xsl:for-each select="./@*"> - <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute> - </xsl:for-each> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- //////////// Folgende Elemente muessen ignoriert werden, da sie bereits anderweitig abgefragt werden. //////////// --> - <xsl:template match="bka:layoutdaten | bka:aw | bka:pdeinst"> - <!-- nichts tun --> - </xsl:template> - <!-- ////////////// Parlamentsdirektion //////////////////////////// --> - <xsl:template match="bka:pdvorlage"> - <xsl:element name="p"> - <xsl:attribute name="class"><xsl:value-of select="./bka:pdeinst[1]/@formatname"/></xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:template> - <!-- ////////////// Ausrichtung von Abätzen (05.01.2006) //////////////////////////// --> - <xsl:template mode="halign" match="*"> - <!-- Jeder Absatz hat jetzt ein @halign --> - <xsl:if test="@halign"> - <xsl:choose> - <xsl:when test="@halign='c'"> - <xsl:text>AlignCenter</xsl:text> - </xsl:when> - <xsl:when test="@halign='r'"> - <xsl:text>AlignRight</xsl:text> - </xsl:when> - <xsl:when test="@halign='j'"> - <xsl:text>AlignJustify</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>AlignLeft</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:template> -</xsl:stylesheet> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.iso8859.xml deleted file mode 100644 index c71087424..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.iso8859.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml</LocRefContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.0.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="./Bilder-Dateien/Bilder.img1is.gif"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img1is.gif</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="./Bilder-Dateien/Bilder.img2is.gif"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img2is.gif</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="./Bilder-Dateien/Bilder.img3is.gif"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img3is.gif</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.utf8.xml b/spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.utf8.xml deleted file mode 100644 index c71087424..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.utf8.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml</LocRefContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.0.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="./Bilder-Dateien/Bilder.img1is.gif"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img1is.gif</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="./Bilder-Dateien/Bilder.img2is.gif"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img2is.gif</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="./Bilder-Dateien/Bilder.img3is.gif"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img3is.gif</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.iso8859.xml deleted file mode 100644 index 56c0259aa..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.iso8859.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml</LocRefContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.1.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.utf8.xml b/spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.utf8.xml deleted file mode 100644 index 56c0259aa..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.utf8.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml</LocRefContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.1.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.iso8859.xml deleted file mode 100644 index f1feb6858..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.iso8859.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml</LocRefContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.8.6.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.utf8.xml b/spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.utf8.xml deleted file mode 100644 index f1feb6858..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.utf8.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<VerifyXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/20031231#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SignatureInfo> - <SignatureEnvironment> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml</LocRefContent> - </SignatureEnvironment> - <SignatureLocation>/dsig:Signature</SignatureLocation> - </SignatureInfo> - <Supplement> - <Content Reference="stylesheet.xsl"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.8.6.xsl</LocRefContent> - </Content> - </Supplement> - <Supplement> - <Content Reference="dokument.xml"> - <LocRefContent>http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml</LocRefContent> - </Content> - </Supplement> -</VerifyXMLSignatureRequest> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.iso8859.xml deleted file mode 100644 index 6872e2cf4..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.iso8859.xml +++ /dev/null @@ -1,558 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sl11:VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>21221</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate><moa:PublicAuthority/></dsig:X509Data></sl11:SignerInfo><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJPGhl -YWQ+Cjx0aXRsZT5lUmVjaHQgRG9rdW1lbnQgKDEuOS4wKTwvdGl0bGU+CjxzdHls -ZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgLlczOCB7IHdpZHRoOjM4cHg7IH0K -ICAgICAgICAuVzE1IHsgd2lkdGg6MTVweDsgfQogICAgICAgIC5XMjIgeyB3aWR0 -aDoyMnB4OyB9CiAgICAgICAgLndpMTAwIHsgd2lkdGg6MTAwJTsgfQogICAgICAg -IC5XRXJsIHsgd2lkdGg6MTVweDsgfQogICAgICAgIC5FMVNwMiB7IHdpZHRoOjU1 -Ny4zNXB4OyB9CiAgICAgICAgLkUyU3AyIHsgd2lkdGg6NTQyLjM1cHg7IH0KICAg -ICAgICAuRTNTcDIgeyB3aWR0aDo1MjAuMzVweDsgfQogICAgICAgIC5FNFNwMiB7 -IHdpZHRoOjQ5OC4zNXB4OyB9CiAgICAgICAgLkU1U3AyIHsgd2lkdGg6NDc2LjM1 -cHg7IH0KICAgICAgICAuRXJsU3AyIHsgd2lkdGg6NTcwLjM1cHg7IH0KICAgICAg -ICAuRTFTcDJRIHsgd2lkdGg6ODA0cHg7IH0KICAgICAgICAuRTJTcDJRIHsgd2lk -dGg6Nzg5cHg7IH0KICAgICAgICAuRTNTcDJRIHsgd2lkdGg6NzY3cHg7IH0KICAg -ICAgICAuRTRTcDJRIHsgd2lkdGg6NzQ1cHg7IH0KICAgICAgICAuRTVTcDJRIHsg -d2lkdGg6NzIzcHg7IH0KICAgICAgICAuRXJsU3AyUSB7IHdpZHRoOjgxN3B4OyB9 -CiAgICAgICAgLm5leHRwYWdlIHsgcGFnZS1icmVhay1iZWZvcmU6YWx3YXlzOyB9 -CiAgICAgICAgLm1hcmdpbnMge21hcmdpbi10b3A6ODUuMDVwdDttYXJnaW4tcmln -aHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxlZnQ6ODUu -MDVwdDt9CiAgICAgICAgQG1lZGlhIHNjcmVlbiB7IC5wYXBlcncge3dpZHRoOjU5 -NS4zNXB4O21hcmdpbi10b3A6ODUuMDVwdDttYXJnaW4tcmlnaHQ6ODUuMDVwdDtt -YXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxlZnQ6ODUuMDVwdDt9fQogICAg -ICAgIEBtZWRpYSBwcmludCB7IC5wYXBlcncge3dpZHRoOjU5NS4zNXB4O21hcmdp -bi10b3A6MC4wcHQ7bWFyZ2luLXJpZ2h0OjAuMHB0O21hcmdpbi1ib3R0b206MC4w -cHQ7bWFyZ2luLWxlZnQ6MC4wcHQ7c2l6ZTpwb3J0cmFpdDt9fQogICAgICAgIEBt -ZWRpYSBzY3JlZW4geyAucGFwZXJoIHt3aWR0aDo4NDJweDttYXJnaW4tcmlnaHQ6 -ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxlZnQ6ODUuMDVw -dDttYXJnaW4tdG9wOjg1LjA1cHQ7fX0KICAgICAgICBAbWVkaWEgcHJpbnQgeyAu -cGFwZXJoIHt3aWR0aDo4NDJweDttYXJnaW4tdG9wOjAuMHB0O21hcmdpbi1yaWdo -dDowLjBwdDttYXJnaW4tYm90dG9tOjAuMHB0O21hcmdpbi1sZWZ0OjAuMHB0O3Np -emU6bGFuZHNjYXBlfX0KLyogQWxsZ2VtZWluZSBBbmdhYmVuIHp1bSBBbnplaWdl -biB2b24gTGluaWVuIGluIFRhYmVsbGVuICAgICAgKi8KLyoKQHBhZ2UgOmxlZnQg -e3NpemU6IDIxY20gMjkuN2NtO21hcmdpbi1sZWZ0OiAyY207bWFyZ2luLXJpZ2h0 -OiAyY207bWFya3M6Y3JvcDt9CkBwYWdlIDpyaWdodCB7c2l6ZTogMjFjbSAyOS43 -Y207bWFyZ2luLWxlZnQ6IDJjbTttYXJnaW4tcmlnaHQ6IDJjbTttYXJrczpjcm9w -O30KKi8KdGFibGUudG9wIHtib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtib3JkZXIt -dG9wLXdpZHRoOiB0aGluO2JvcmRlci1jb2xvcjogYmxhY2s7fQp0YWJsZS5ib3R0 -b20ge2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JvcmRlci1ib3R0b20td2lk -dGg6IHRoaW47Ym9yZGVyLWNvbG9yOiBibGFjazt9CnRkLnRvcCB7Ym9yZGVyLXRv -cC1zdHlsZTpzb2xpZDtib3JkZXItdG9wLXdpZHRoOjFwdDt9CnRkLnJpZ2h0IHti -b3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFwdDt9 -CnRkLmJvdHRvbSB7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90 -dG9tLXdpZHRoOjFwdDt9CnRkLmxlZnQge2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlk -O2JvcmRlci1sZWZ0LXdpZHRoOjFwdDt9Ci8qVGV4dCBpbm5lcmhhbGIgZWluZXIg -VGFiZWxsZW56ZWxsZSBmdWVyICJhYnNhdHoiIHVuZCAidWViZXJzY2hyaWZ0Iiov -Ci5BbGlnbkxlZnQge3RleHQtYWxpZ246bGVmdDt9Ci5BbGlnblJpZ2h0IHt0ZXh0 -LWFsaWduOnJpZ2h0O30KLkFsaWduQ2VudGVyIHt0ZXh0LWFsaWduOmNlbnRlcjt9 -Ci5BbGlnbkp1c3RpZnkge3RleHQtYWxpZ246anVzdGlmeTt9Ci5WQWxpZ25Ub3Ag -e3ZlcnRpY2FsLWFsaWduOnRvcDsJfQovKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBMZWdp -c3Rpay1TdGFuZGFyZC1Gb3JtYXR2b3JsYWdlICAgICAgICAgICAgICAgICAgICAg -ICAgICAgICAqLwovKiBGb3JtYXR2b3JsYWdlOiAwMF9MZWdTdGFuZGFyZCAqLwov -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqLwouTGVnU3RhbmRhcmQgewp0ZXh0LWFsaWduOmp1c3Rp -Znk7LypPSyovCmxpbmUtaGVpZ2h0OjExLjBwdDsKZm9udC1zaXplOjEwLjBwdDsK -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -LwovKiBGb3JtYXR2b3JsYWdlbiBmdWVyIEFic2FldHplICAgICAgICAgICAgICAg -ICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBGb3JtYXR2 -b3JsYWdlOiAwMV9VbmRlZmluaWVydCAqLwpwLlVuZGVmaW5pZXJ0IHttYXJnaW4t -dG9wOjEuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTsvKk9LKi9saW5lLWhlaWdo -dDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjtjb2xvcjogcmVkO30KLyogRm9ybWF0dm9ybGFnZTogMDJfQkRHZXNC -bGF0dCAqLwpwLkJER2VzQmxhdHQge21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4 -dC1hbGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDozNS4wcHQ7Zm9udC1zaXplOjM1 -LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazt0 -ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS4zcHQ7Zm9u -dC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDAzX1JlcE9lc3RlcnIg -Ki8KcC5SZXBPZXN0ZXJyIHttYXJnaW4tdG9wOjYuMHB0O21hcmdpbi1yaWdodDow -Y207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO21hcmdpbi1ib3R0 -b206MTIuMHB0Oy8qdGV4dC1hbGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDoyMC4w -cHQ7Ym9yZGVyOm5vbmU7cGFkZGluZzowY207Zm9udC1zaXplOjIwLjBwdDtmb250 -LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazt0ZXh0LXRyYW5z -Zm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS4wcHQ7Zm9udC13ZWlnaHQ6 -Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDA0X0F1c2dhYmVEYXRlbiAqLwpwLkF1 -c2dhYmVEYXRlbiB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJn -aW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6MTQuMHB0 -O3BhZGRpbmc6MGNtO2ZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7Y29sb3I6IGJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBG -b3JtYXR2b3JsYWdlOiAwNV9LdXJ6dGl0ZWwKS3VyenRpdGVsIGluIGVpbmVyIFNw -YWx0ZSAod2VubiBrZWluIFRBQiB2b3JoYW5kZW4gaXN0KSAqLwpwLkt1cnp0aXRl -bDEge21hcmdpbi10b3A6Mi4wcHQ7bWFyZ2luLXJpZ2h0OiAwY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6IDMuNmNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5 -OyovdGV4dC1pbmRlbnQ6IC0zLjZjbTtib3JkZXI6bm9uZTtwYWRkaW5nOjBjbTtm -b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBLdXJ6dGl0ZWwgaW4gendl -aSBTcGFsdGVuICh3ZW5uIGVpbiBUQUIgdm9yaGFuZGVuIGlzdCkgKi8KcC5LdXJ6 -dGl0ZWwyIHttYXJnaW4tdG9wOjIuMHB0O21hcmdpbi1yaWdodDogMGNtO21hcmdp -bi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OiAwY207Lyp0ZXh0LWFsaWduOmp1c3Rp -Znk7Ki9ib3JkZXI6bm9uZTtwYWRkaW5nOjBjbTtmb250LXNpemU6MTAuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2Vp -Z2h0OmJvbGQ7fQpzcGFuLkt1cnp0aXRlbGJyZWl0ZSB7d2lkdGg6IDMuNGNtO30K -LyogRm9ybWF0dm9ybGFnZTogMDlfQWJzdGFuZCAqLwpwLkFic3RhbmQge21hcmdp -bjo2LjBwdDttYXJnaW4tYm90dG9tOjYuMHB0O2xpbmUtaGVpZ2h0OjEwLjBwdDtm -b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO30KLyogRm9ybWF0dm9ybGFnZTogMTBfRW50d3VyZiAqLwpwLkVu -dHd1cmYge21hcmdpbi10b3A6ODAuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2lu -LWJvdHRvbTo2NC4wcHQ7bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50 -ZXI7Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjtsZXR0ZXItc3BhY2luZzoxLjNwdDt9Ci8q -IEZvcm1hdHZvcmxhZ2U6IDExX1RpdGVsICovCnAuVGl0ZWwge21hcmdpbi10b3A6 -MjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2lu -LWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5OyovbGluZS1oZWlnaHQ6MTEu -MHB0O2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDEyX1Byb21L -bF9FaW5sU2F0eiAqLwkKcC5Qcm9tS2xFaW5sU2F0eiB7bWFyZ2luLXRvcDo4LjBw -dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0 -OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL3RleHQtaW5kZW50OjE5Ljg1cHQ7 -bGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8qIEZv -cm1hdHZvcmxhZ2U6IDE4X0FiYmlsZHVuZ19vZGVyX09iamVrdCAqLwpwLkFiYmls -ZHVuZ29kZXJPYmpla3Qge21hcmdpbi10b3A6Ni4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjYuMHB0O21hcmdpbi1sZWZ0OjBjbTtmb250LXNpemU6 -MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNr -O30KLyogRm9ybWF0dm9ybGFnZTogMTlfQmVzY2hyaWZ0dW5nICovCnAuQmVzY2hy -aWZ0dW5nIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206Ni4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtm -b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO30KLyogRm9ybWF0dm9ybGFnZTogMjFfTm92QW8xICovCnAuTm92 -QW8xIHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5Oyov -bGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250LXN0 -eWxlOml0YWxpYzt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDIyX05vdkFvMSAqLwpwLk5v -dkFvMiB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsq -L2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQtc3R5bGU6aXRhbGljO30KLyogRm9ybWF0 -dm9ybGFnZTogMjNfU2F0el8obmFjaF9Ob3ZhbykgKi8KcC5TYXR6bmFjaE5vdmFv -IHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5OyovbGlu -ZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiAz -MF9JbmhhbHRVZWJlcnNjaHJpZnQgKi8KcC5JbmhhbHRVZWJlcnNjaHJpZnQge21h -cmdpbi10b3A6MTYuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo4 -LjBwdDttYXJnaW4tbGVmdDowY207dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDMx -X0luaGFsdFNwYWx0ZSAqLwpwLkluaGFsdFNwYWx0ZSB7bWFyZ2luLXRvcDo0LjBw -dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NC4wcHQ7bWFyZ2luLWxl -ZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lk -O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7 -Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDMyX0luaGFsdEVp -bnRyYWcgKi8KcC5JbmhhbHRFaW50cmFnIHttYXJnaW4tdG9wOjBjbTttYXJnaW4t -cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5l -LWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDQxX1VlYmVyc2Nockcx -ICovCnAuVWViZXJzY2hyRzEge21hcmdpbi10b3A6MTYuMHB0O21hcmdpbi1yaWdo -dDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1h -bGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVhay1hZnRl -cjphdm9pZDtmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2 -b3JsYWdlOiA0Ml9VZWJlcnNjaHJHMS0gKi8KcC5VZWJlcnNjaHJHMS0ge21hcmdp -bi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTtt -YXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0 -OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMS4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13 -ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDQzX1VlYmVyc2NockcyICov -CnAuVWViZXJzY2hyRzIge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjQuMHB0O21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxp -Z246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6 -YXZvaWQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9y -bGFnZTogNDRfVWViZXJzY2hyQXJ0ICovCnAuVWViZXJzY2hyQXJ0IHttYXJnaW4t -dG9wOjguMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDox -MS4wcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZDtmb250LXNpemU6MTAuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2Vp -Z2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA0NV9VZWJlcnNjaHJQYXJhICov -CnAuVWViZXJzY2hyUGFyYSB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6 -MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxp -Z246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6 -YXZvaWQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9y -bGFnZTogNTFfQWJzICovCnAuQWJzIHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4 -dC1hbGlnbjpqdXN0aWZ5OyovdGV4dC1pbmRlbnQ6MTkuODVwdDsvKmxpbmUtaGVp -Z2h0OjExLjBwdDsqL2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1Ml9aaWZmZXJfZTEgLSBl -MyAqLwpwLlppZmZlckUxLCBwLlppZmZlckUyLCBwLlppZmZlckUzIHttYXJnaW4t -dG9wOjIuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0 -O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFn -ZTogNTJfWmlmZmVyX21pdF9CZXRyYWcgKi8KcC5aaWZmZXJNaXRCZXRyYWcge21h -cmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207 -bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlvbi13 -cmFwOnNpbXBsZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdl -OiA1MmFUX1ppZmZlcl9taXRfQmV0cmFnX1RHVUUgKi8KcC5aaWZmZXJNaXRCZXRy -YWdUR1VFIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7cHVu -Y3R1YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRvc3BhY2U6bm9uZTtmb250LXNp -emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9y -bWF0dm9ybGFnZTogNTNfTGl0ZXJhX2UxIC0gZTMgKi8KcC5MaXRlcmFFMSwgcC5M -aXRlcmFFMiwgcC5MaXRlcmFFMyB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmln -aHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDUzX0xpdGVyYV9taXRfQmV0 -cmFnICovCnAuTGl0ZXJhTWl0QmV0cmFnIHttYXJnaW4tdG9wOjBjbTttYXJnaW4t -cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5l -LWhlaWdodDoxMS4wcHQ7cHVuY3R1YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRv -c3BhY2U6bm9uZTtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFnZTogNTNhVF9MaXRlcmFfbWl0X0Jl -dHJhZ19UR1VFICovCnAuTGl0ZXJhTWl0QmV0cmFnVEdVRSB7bWFyZ2luLXRvcDow -Y207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVm -dDowY207bGluZS1oZWlnaHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2ltcGxl -O3RleHQtYXV0b3NwYWNlOm5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDU0X1N1Ymxp -dGVyYV9lMSAtIGUzICovCnAuU3VibGl0ZXJhRTEsIHAuU3VibGl0ZXJhRTIsIHAu -U3VibGl0ZXJhRTMge21hcmdpbi10b3A6Mi4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTtt -YXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6MTEu -MHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJsaXRlcmFfbWl0X0JldHJhZyAq -LwpwLlN1YmxpdGVyYU1pdEJldHJhZyB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJp -Z2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1o -ZWlnaHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2ltcGxlO3RleHQtYXV0b3Nw -YWNlOm5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDU0YVRfU3VibGl0ZXJhX21pdF9C -ZXRyYWdfVEdVRSAqLwpwLlN1YmxpdGVyYU1pdEJldHJhZ1RHVUUge21hcmdpbi10 -b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2lu -LWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlvbi13cmFwOnNp -bXBsZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NGFf -U3RyaWNoX2UxIC0gZTcgKi8KcC5TdHJpY2hFMSwgcC5TdHJpY2hFMiwgcC5TdHJp -Y2hFMywgcC5TdHJpY2hFNCwgcC5TdHJpY2hFNSwgcC5TdHJpY2hFNiwgcC5TdHJp -Y2hFNyB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9u -dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8q -IEZvcm1hdHZvcmxhZ2U6IDU1X1NjaGx1c3N0ZWlsQWJzLCA1Nl9TY2hsdXNzdGVp -bFppZmYsIDU3X1NjaGx1c3N0ZWlsTGl0Ki8KcC5TY2hsdXNzdGVpbEFicywgcC5T -Y2hsdXNzdGVpbFppZmYsIHAuU2NobHVzc3RlaWxMaXQge21hcmdpbjowY207IGxp -bmUtaGVpZ2h0OjExLjBwdDsgZm9udC1zaXplOjEwLjBwdDsgZm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA2MV9UYWJUZXh0 -ICovCnAuVGFiVGV4dCB7bWFyZ2luOjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9u -dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xv -cjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDYxYV9UYWJUZXh0UmVjaHRzYiAq -LwpwLlRhYlRleHRSZWNodHNiIHttYXJnaW46MGNtO3RleHQtYWxpZ246cmlnaHQ7 -bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdl -OiA2MWJfVGFiVGV4dFplbnRyaWVydCAqLwpwLlRhYlRleHRaZW50cmllcnQge21h -cmdpbjowY207dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTEuMHB0O2Zv -bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29s -b3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiA2MWNfVGFiVGV4dEJsb2NrICov -CnAuVGFiVGV4dEJsb2NrIHttYXJnaW46MGNtO3RleHQtYWxpZ246anVzdGlmeTts -aW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6 -IDYyX0tvcGZ6ZWlsZSAqLwpwLktvcGZ6ZWlsZSB7bWFyZ2luLXRvcDo0LjBwdDtt -YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBj -bTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtmb250 -LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9y -OiAjQzBDMEMwO30KLyogRm9ybWF0dm9ybGFnZTogNjNfRnXDn3plaWxlICovCnAu -RnVzc3plaWxlIHttYXJnaW4tdG9wOjEwLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21h -cmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVz -dGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6OS4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6ICNDMEMwQzA7fQovKiBGb3Jt -YXR2b3JsYWdlOiA2NF9GTl9MaW5pZSAqLwpwLkZOTGluaWUge21hcmdpbi10b3A6 -MTEuMHB0O21hcmdpbi1yaWdodDoxMy4wY207bWFyZ2luLWJvdHRvbToxLjBwdDtt -YXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6MTEuMHB0O3BhZGRpbmc6MGNtO2Zv -bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29s -b3I6YmxhY2s7Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7Ym9yZGVyLWJvdHRv -bS1jb2xvcjogR3JheTtib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7fQovKiBGb3Jt -YXR2b3JsYWdlOiA2NV9GTl9UZXh0ICovCnAuRk5UZXh0IHttYXJnaW46MGNtO3Rl -eHQtYWxpZ246anVzdGlmeTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjku -MHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30K -LyogRm9ybWF0dm9ybGFnZTogNjZfRk5fWmVpY2hlbiAqLwpzcGFuLkZOWmVpY2hl -biB7dmVydGljYWwtYWxpZ246c3VwZXI7fQovKiBGb3JtYXR2b3JsYWdlOiA2OF9V -bnRlcnNjaHJMICovCnAuVW50ZXJzY2hyTCB7bWFyZ2luLXRvcDo4LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0 -ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4w -cHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9u -dC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDY5X1VudGVyc2Nock0g -Ki8KcC5VbnRlcnNjaHJNIHttYXJnaW4tdG9wOjguMHB0O21hcmdpbi1yaWdodDow -Y207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246 -Y2VudGVyO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0 -OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA3MV9BbmxhZ2VuYmV6ICovCnAuQW5s -YWdlbmJleiB7bWFyZ2luLXRvcDo4LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdp -bi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246cmlnaHQ7 -Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xk -O30KLyogRm9ybWF0dm9ybGFnZTogODFfRXJsVWViZXJzY2hyWiAqLwpwLkVybFVl -YmVyc2Nocloge21hcmdpbi10b3A6MTYuMHB0O21hcmdpbi1yaWdodDowY207bWFy -Z2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50 -ZXI7Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZDtm -b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA4 -Ml9FcmxVZWJlcnNjaHJMICovCnAuRXJsVWViZXJzY2hyTCB7bWFyZ2luLXRvcDo0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBw -dDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6 -Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDgzX0VybFRleHQgKi8KcC5FcmxUZXh0 -IHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5OyovbGlu -ZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA4NV9FcmxBdWZ6YWVo -bGcgLSBub2NoIG5pY2h0IGZlcnRpZyAqLwpwLkVybEF1ZnphZWhsZyB7bWFyZ2lu -LXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21h -cmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEu -MHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiA4OV9UR1VFX1VlYmVy -c2NoclNwYWx0ZSovCnAuVEdVRVVlYmVyc2NoclNwYWx0ZSB7bWFyZ2luLXRvcDo0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0 -O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpi -b2xkO30KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZW4gZnVlciBa -ZWljaGVuZm9ybWF0aWVydW5nICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZTogOTkwX0ZlaGxlciAqLwpzcGFu -LkZlaGxlciB7Y29sb3I6IHJlZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5MV9HbGRT -eW1ib2wgKi8Kc3Bhbi5HbGRTeW1ib2wge2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBG -b3JtYXR2b3JsYWdlOiA5OTJfTm9ybWFsICovCnNwYW4uTm9ybWFsIHtmb250LXN0 -eWxlOiBub3JtYWw7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTNfRmV0dCAqLwpzcGFu -LkZldHQge2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTRf -S3Vyc2l2ICovCnNwYW4uS3Vyc2l2IHtmb250LXN0eWxlOml0YWxpYzt9Ci8qIEZv -cm1hdHZvcmxhZ2U6IDk5NV9VbnRlcnN0cmljaGVuICovCnNwYW4uVW50ZXJzdHJp -Y2hlbiB7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9Ci8qIEZvcm1hdHZvcmxh -Z2U6IDk5Nl9HZXNwZXJydCAqLwpzcGFuLkdlc3BlcnJ0IHtsZXR0ZXItc3BhY2lu -ZzoxLjNwdDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5N19Ib2NoICovCnNwYW4uSG9j -aCB7bGluZS1oZWlnaHQ6IDYwJTsgZm9udC1zaXplOiA2MCU7IHZlcnRpY2FsLWFs -aWduOnN1cGVyO30KLyogRm9ybWF0dm9ybGFnZTogOTk4X1RpZWYgKi8Kc3Bhbi5U -aWVmIHt2ZXJ0aWNhbC1hbGlnbjpzdWI7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTlf -RmV0dF91bmRfS3Vyc2l2ICovCnNwYW4uRmV0dHVuZEt1cnNpdiB7Zm9udC13ZWln -aHQ6Ym9sZDsgZm9udC1zdHlsZTppdGFsaWM7fQovKiBTdGFuZGFyZHRhYnNjaHJp -dHR3ZWl0ZSBhdXMgV29yZCAqLwpzcGFuLlN0YW5kYXJkdGFidWxhdG9yIHt3aWR0 -aDozNS40NXB0O30KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZW4g -ZGVyIFBhcmxhbWVudHNkaXJla3Rpb24gICAgICAgICAgICAgICAgICAgICAgKi8K -LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKi8KcC5QREFsbG9uZ2UsIGxpLlBEQWxsb25nZSwgZGl2 -LlBEQWxsb25nZSB7bWFyZ2luLXRvcDoxNC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTtt -YXJnaW4tYm90dG9tOjEwLjBwdDttYXJnaW4tbGVmdDowY207dGV4dC1hbGlnbjpj -ZW50ZXI7Zm9udC1zaXplOjE0LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBEQWxsb25nZUIsIGxpLlBE -QWxsb25nZUIsIGRpdi5QREFsbG9uZ2VCIHttYXJnaW4tdG9wOjE0LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0O21hcmdpbi1sZWZ0OjBj -bTt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1zaXplOjE0LjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBE -QWxsb25nZUwsIGxpLlBEQWxsb25nZUwsIGRpdi5QREFsbG9uZ2VMIHttYXJnaW4t -dG9wOjE0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0 -O21hcmdpbi1sZWZ0OjBjbTtmb250LXNpemU6MTQuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO2xheW91dC1ncmlkLW1vZGU6bGluZTt9CnAuUERBbnRy -YWdzZm9ybWVsLCBsaS5QREFudHJhZ3Nmb3JtZWwsIGRpdi5QREFudHJhZ3Nmb3Jt -ZWwge21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtsaW5l -LWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBERGF0dW0s -IGxpLlBERGF0dW0sIGRpdi5QRERhdHVtIHttYXJnaW4tdG9wOjE0LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0 -ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZTox -MC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdyaWQt -bW9kZTpsaW5lO30KcC5QREVudHNjaGxpZXNzdW5nLCBsaS5QREVudHNjaGxpZXNz -dW5nLCBkaXYuUERFbnRzY2hsaWVzc3VuZyB7bWFyZ2luLXRvcDo4LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTts -aW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7Zm9udC13ZWln -aHQ6Ym9sZDt9CnAuUERLMSwgbGkuUERLMSwgZGl2LlBESzEge21hcmdpbjowY207 -dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOm5vbmU7cGFkZGluZzowY207Zm9udC1z -aXplOjEyLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtsZXR0ZXIt -c3BhY2luZzotLjRwdDtmb250LXdlaWdodDpib2xkO30KcC5QREsxQW5sYWdlLCBs -aS5QREsxQW5sYWdlLCBkaXYuUERLMUFubGFnZSB7bWFyZ2luOjBjbTt0ZXh0LWFs -aWduOnJpZ2h0O2ZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7bGV0dGVyLXNwYWNpbmc6LS40cHQ7Zm9udC13ZWlnaHQ6Ym9sZDt9 -CnAuUERLMUF1c2csIGxpLlBESzFBdXNnLCBkaXYuUERLMUF1c2cge21hcmdpbi10 -b3A6NjIuOXB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbToyNy4wcHQ7 -bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERLMiwgbGkuUERL -MiwgZGl2LlBESzIge21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFy -Z2luLWJvdHRvbToxMS4zNXB0O21hcmdpbi1sZWZ0OjBjbTtmb250LXNpemU6MjIu -MHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJv -bGQ7fQpwLlBESzMsIGxpLlBESzMsIGRpdi5QREszIHttYXJnaW4tdG9wOjBjbTtt -YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MjAuMHB0O21hcmdpbi1sZWZ0 -OjBjbTtmb250LXNpemU6MTguMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t -YW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQpwLlBESzQsIGxpLlBESzQsIGRpdi5QREs0 -IHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206 -Ni4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6ZToxMy4wcHQ7Zm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERLb3Bm -emVpbGUsIGxpLlBES29wZnplaWxlLCBkaXYuUERLb3BmemVpbGUge21hcmdpbi10 -b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJn -aW4tbGVmdDowY207dGV4dC1hbGlnbjpqdXN0aWZ5O2xpbmUtaGVpZ2h0OjExLjBw -dDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i -O2xheW91dC1ncmlkLW1vZGU6bGluZTt9CnAuUERVMSwgbGkuUERVMSwgZGl2LlBE -VTEge21hcmdpbi10b3A6MjIuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250 -LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQt -d2VpZ2h0OmJvbGQ7fQpwLlBEVTIsIGxpLlBEVTIsIGRpdi5QRFUyIHttYXJnaW4t -dG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6OS4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpwLlBEVm9ybGFnZSwgbGku -UERWb3JsYWdlLCBkaXYuUERWb3JsYWdlIHttYXJnaW4tdG9wOjBjbTttYXJnaW4t -cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0O21hcmdpbi1sZWZ0OjBjbTt0 -ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZTox -MS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdyaWQt -bW9kZTpsaW5lO2ZvbnQtd2VpZ2h0OmJvbGQ7fQo8L3N0eWxlPgo8L2hlYWQ+Cgk8 -Ym9keT4KCQk8ZGl2IGNsYXNzPSJwYXBlcnciPgoJCQkKCQkJCgkJCQoJCQkKCQkJ -PHAgY2xhc3M9IkJER2VzQmxhdHQgQWxpZ25DZW50ZXIiPkJVTkRFU0dFU0VUWkJM -QVRUPC9wPgoJCQk8cCBjbGFzcz0iUmVwT2VzdGVyciBBbGlnbkNlbnRlciI+RsOc -UiBESUUgUkVQVUJMSUsgw5ZTVEVSUkVJQ0g8L3A+CgkJCTx0YWJsZSBjbGFzcz0i -dG9wIGJvdHRvbSB3aTEwMCI+Cjx0cj4KCQkJCTx0ZD4KPHAgY2xhc3M9IkF1c2dh -YmVEYXRlbiBBbGlnbkxlZnQiPkphaHJnYW5nIDIwMDY8L3A+CjwvdGQ+CgkJCQk8 -dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0ZW4gQWxpZ25DZW50ZXIiPkF1c2dlZ2Vi -ZW4gYW0gOS4gTcOkcnogMjAwNjwvcD4KPC90ZD4KCQkJCTx0ZD4KPHAgY2xhc3M9 -IkF1c2dhYmVEYXRlbiBBbGlnblJpZ2h0Ij5UZWlsIElJPC9wPgo8L3RkPgoJCQk8 -L3RyPgo8L3RhYmxlPgoJCQk8dGFibGUgY2xhc3M9ImJvdHRvbSB3aTEwMCI+Cjx0 -cj4KPHRkPgo8cCBjbGFzcz0iS3VyenRpdGVsMiBBbGlnbkxlZnQgVkFsaWduVG9w -Ij4KPHNwYW4gY2xhc3M9Ikt1cnp0aXRlbGJyZWl0ZSI+MTA2LiBWZXJvcmRudW5n -Ojwvc3Bhbj4KPC9wPgo8L3RkPgo8dGQ+CjxwIGNsYXNzPSJLdXJ6dGl0ZWwyIEFs -aWduTGVmdCI+Um9obWlsY2h2ZXJvcmRudW5nPC9wPgo8L3RkPgo8L3RyPgo8L3Rh -YmxlPgoJCQk8cCBjbGFzcz0iVGl0ZWwgQWxpZ25KdXN0aWZ5Ij4xMDYuIFZlcm9y -ZG51bmcgZGVyIEJ1bmRlc21pbmlzdGVyaW4gZsO8ciBHZXN1bmRoZWl0IHVuZCBG -cmF1ZW4gw7xiZXIgUm9obWlsY2ggdW5kIFJvaHJhaG0gKFJvaG1pbGNodmVyb3Jk -bnVuZyk8L3A+CgkJCTxwIGNsYXNzPSJQcm9tS2xFaW5sU2F0eiBBbGlnbkp1c3Rp -ZnkiPkF1ZiBHcnVuZCBkZXMgwqcgMTQgWiAxIGRlcyBMZWJlbnNtaXR0ZWxzaWNo -ZXJoZWl0cy0gdW5kIFZlcmJyYXVjaGVyc2NodXR6Z2VzZXR6ZXMg4oCTIExNU1ZH -LCBCR0JsLiBJIE5yLiAxMy8yMDA2LCBnZcOkbmRlcnQgZHVyY2ggZGFzIEJ1bmRl -c2dlc2V0eiBCR0JsLiBJIE5yLiAxNTEvMjAwNSwgd2lyZCBpbSBFaW52ZXJuZWht -ZW4gbWl0IGRlbSBCdW5kZXNtaW5pc3RlciBmw7xyIExhbmQtIHVuZCBGb3JzdHdp -cnRzY2hhZnQsIFVtd2VsdCB1bmQgV2Fzc2Vyd2lydHNjaGFmdCB2ZXJvcmRuZXQ6 -PC9wPgoJCQk8cCBjbGFzcz0iVWViZXJzY2hyUGFyYSBBbGlnbkNlbnRlciI+R2Vs -dHVuZ3NiZXJlaWNoPC9wPgoJCQk8cCBjbGFzcz0iQWJzIEFsaWduSnVzdGlmeSI+ -CgkJCQk8c3BhbiBjbGFzcz0iR2xkU3ltYm9sIj7Cp8KgMS48L3NwYW4+IERpZXNl -IFZlcm9yZG51bmcgcmVnZWx0IGRhcyBJbnZlcmtlaHJicmluZ2VuIHZvbiBSb2ht -aWxjaCB1bmQgUm9ocmFobSwgZGllIGbDvHIgZGVuIHVubWl0dGVsYmFyZW4gbWVu -c2NobGljaGVuIFZlcnplaHIgYmVzdGltbXQgc2luZCBzb3dpZSBkYW1pdCBpbiBa -dXNhbW1lbmhhbmcgc3RlaGVuZGUgQmVoYW5kbHVuZ3MtIHVuZCBLZW5uemVpY2hu -dW5ndm9yc2NocmlmdGVuLjwvcD4KCQkJPHAgY2xhc3M9IlVlYmVyc2NoclBhcmEg -QWxpZ25DZW50ZXIiPkFsbGdlbWVpbmUgQmVzdGltbXVuZ2VuPC9wPgoJCQk8cCBj -bGFzcz0iQWJzIEFsaWduSnVzdGlmeSI+CgkJCQk8c3BhbiBjbGFzcz0iR2xkU3lt -Ym9sIj7Cp8KgMi48L3NwYW4+ICgxKSBSb2htaWxjaCB1bmQgUm9ocmFobSBkw7xy -ZmVuIG51ciBkaXJla3Qgdm9tIFRpZXJoYWx0ZXIgYW4gZGVuIEVuZHZlcmJyYXVj -aGVyIG9kZXIgYW4gRWluemVsaGFuZGVsc3VudGVybmVobWVuIHVuZCB2b24gZGll -c2VuIEVpbnplbGhhbmRlbHN1bnRlcm5laG1lbiBkaXJla3QgYW4gZGVuIEVuZHZl -cmJyYXVjaGVyIGFiZ2VnZWJlbiB3ZXJkZW4uPC9wPgoJCQk8cCBjbGFzcz0iQWJz -IEFsaWduSnVzdGlmeSI+KDIpIFJvaG1pbGNoIHVuZCBSb2hyYWhtIGTDvHJmZW4g -bmljaHQgYW4gU2NodWxlbiB1bmQgS2luZGVyZ8OkcnRlbiBhYmdlZ2ViZW4gd2Vy -ZGVuLiBBbmRlcmUgRWlucmljaHR1bmdlbiBkZXIgR2VtZWluc2NoYWZ0c3ZlcnNv -cmd1bmcsIGRlbmVuIFJvaG1pbGNoIG9kZXIgUm9ocmFobSBnZW3DpMOfIEFicy4g -MSBhYmdlZ2ViZW4gd2lyZCwgZMO8cmZlbiBkaWVzZSBudXIgenVtIFp3ZWNrZSBk -ZXIgSGVyc3RlbGx1bmcgdm9uIFNwZWlzZW4gdW5kIEdldHLDpG5rZW4gdmVyd2Vu -ZGVuLCBkaWUgZWluZW0gRXJoaXR6dW5nc3ZlcmZhaHJlbiB1bnRlcnpvZ2VuIHdl -cmRlbiwgbWl0IGRlbSBlaW5lIGF1c3JlaWNoZW5kIGhvaGUgS2VybnRlbXBlcmF0 -dXIgZXJ6aWVsdCB3aXJkLCB1bSBkaWUgQWJ0w7Z0dW5nIHZvbiBwYXRob2dlbmVu -IE1pa3Jvb3JnYW5pc21lbiBzaWNoZXJ6dXN0ZWxsZW4uPC9wPgoJCQk8cCBjbGFz -cz0iVWViZXJzY2hyUGFyYSBBbGlnbkNlbnRlciI+TWlsY2hhdXRvbWF0ZW48L3A+ -CgkJCTxwIGNsYXNzPSJBYnMgQWxpZ25KdXN0aWZ5Ij4KCQkJCTxzcGFuIGNsYXNz -PSJHbGRTeW1ib2wiPsKnwqAzLjwvc3Bhbj4gUm9obWlsY2gga2FubiBkdXJjaCBl -aW5lbiBuYWNoIGFuZXJrYW5udGVuIEtyaXRlcmllbiBnZXByw7xmdGVuIE1pbGNo -YXV0b21hdGVuIGFiZ2VnZWJlbiB3ZXJkZW4sIHdlbm4gZ2V3w6RocmxlaXN0ZXQg -aXN0LCBkYXNzIGRpZSBSb2htaWxjaCBkdXJjaCBkZW4gTWlsY2hhdXRvbWF0ZW4g -b2RlciBkZXNzZW4gU3RhbmRvcnQga2VpbmUgaHlnaWVuaXNjaCBuYWNodGVpbGln -ZSBCZWVpbnRyw6RjaHRpZ3VuZyBlcmbDpGhydC48L3A+CgkJCTxwIGNsYXNzPSJV -ZWJlcnNjaHJQYXJhIEFsaWduQ2VudGVyIj5aZWl0cHVua3QgZGVyIEFiZ2FiZTwv -cD4KCQkJPHAgY2xhc3M9IkFicyBBbGlnbkp1c3RpZnkiPgoJCQkJPHNwYW4gY2xh -c3M9IkdsZFN5bWJvbCI+wqfCoDQuPC9zcGFuPiBSb2htaWxjaCBkYXJmIG51ciBh -bSBUYWcgZGVyIEdld2lubnVuZyB1bmQgYW4gZGVuIHp3ZWkgZGFyYXVmIGZvbGdl -bmRlbiBUYWdlbiBhYmdlZ2ViZW4gd2VyZGVuLiBSb2hyYWhtIGRhcmYgbnVyIGFt -IFRhZyBkZXIgR2V3aW5udW5nIGRlciBSb2htaWxjaCBvZGVyIGFtIGRhcmF1ZiBm -b2xnZW5kZW4gVGFnIGF1cyBkaWVzZXIgaGVyZ2VzdGVsbHQgdW5kIGFiZ2VnZWJl -biB3ZXJkZW4uPC9wPgoJCQk8cCBjbGFzcz0iVWViZXJzY2hyUGFyYSBBbGlnbkNl -bnRlciI+S2VubnplaWNobnVuZzwvcD4KCQkJPHAgY2xhc3M9IkFicyBBbGlnbkp1 -c3RpZnkiPgoJCQkJPHNwYW4gY2xhc3M9IkdsZFN5bWJvbCI+wqfCoDUuPC9zcGFu -PiAoMSkgVW5iZXNjaGFkZXQgZGVyIEJlc3RpbW11bmdlbiBkZXIgTGViZW5zbWl0 -dGVsa2VubnplaWNobnVuZ3N2ZXJvcmRudW5nIDE5OTMgLSBMTUtWLCBCR0JsLiBO -ci4gNzIvMTk5MyBpbiBkZXIgamV3ZWlscyBnZWx0ZW5kZW4gRmFzc3VuZywgaXN0 -IFJvaG1pbGNoIHp1bSB1bm1pdHRlbGJhcmVuIG1lbnNjaGxpY2hlbiBWZXJ6ZWhy -IG1pdCBkZW0gSGlud2VpcyDigJ5Sb2htaWxjaCwgdm9yIGRlbSBWZXJ6ZWhyIGFi -a29jaGVu4oCcIHVuZCBSb2hyYWhtIG1pdCBkZW0gSGlud2VpcyDigJ5Sb2hyYWht -LCBudXIgenVyIEhlcnN0ZWxsdW5nIHZvbiBkdXJjaGVyaGl0enRlbiBTcGVpc2Vu -IHZlcndlbmRlbuKAnCB6dSBkZWtsYXJpZXJlbi48L3A+CgkJCTxwIGNsYXNzPSJB -YnMgQWxpZ25KdXN0aWZ5Ij4oMikgQmVpIFJvaG1pbGNoIHVuZCBSb2hyYWhtLCBk -aWUgbmljaHQgZ2Vtw6TDnyBkZXIgTGViZW5zbWl0dGVsa2VubnplaWNobnVuZ3N2 -ZXJvcmRudW5nIDE5OTMgLUxNS1YgenUga2VubnplaWNobmVuIHNpbmQgdW5kIG5p -Y2h0IHp1bSB1bm1pdHRlbGJhcmVuIFZlcnplaHIgYW4gT3J0IHVuZCBTdGVsbGUg -YmVzdGltbXQgc2luZCwgaGF0IGRlciBIaW53ZWlzIGdlbcOkw58gQWJzLiAxIC0g -YmVpIEFiZ2FiZSBhbiBkZW4gRW5kdmVyYnJhdWNoZXIgLSBhdWYgZWluZW0gQXVz -aGFuZywgZGVuIGRlciBFbmR2ZXJicmF1Y2hlciBlaW5zZWhlbiBrYW5uLCBkZXV0 -bGljaCBsZXNiYXIgenUgZXJmb2xnZW4uIEJlaSBBYmdhYmUgYW4gRWluemVsaGFu -ZGVsc3VudGVybmVobWVuIGlzdCBhdWYgZGVtIFRyYW5zcG9ydGJlaMOkbHRlciB1 -bmQgYXVmIGRlbiBkaWUgV2FyZSBiZWdsZWl0ZW5kZW4gRG9rdW1lbnRlbiwgd2ll -IExpZWZlcnNjaGVpbiBvZGVyIFJlY2hudW5nIOKAnlJvaG1pbGNo4oCcIG9kZXIg -4oCeUm9ocmFobeKAnCBhbnp1Z2ViZW4uPC9wPgoJCQk8cCBjbGFzcz0iVWViZXJz -Y2hyUGFyYSBBbGlnbkNlbnRlciI+S3JpdGVyaWVuPC9wPgoJCQk8cCBjbGFzcz0i -QWJzIEFsaWduSnVzdGlmeSI+CgkJCQk8c3BhbiBjbGFzcz0iR2xkU3ltYm9sIj7C -p8KgNi48L3NwYW4+IFJvaG1pbGNoIG11c3MgZm9sZ2VuZGUgS3JpdGVyaWVuIGVy -ZsO8bGxlbjo8L3A+CgkJCTx0YWJsZSBjbGFzcz0id2kxMDAiPgoJCQkJCgkJCQkJ -PHRyPgo8dGQgY2xhc3M9IlczOCBBbGlnblJpZ2h0IFZBbGlnblRvcCI+CjxwIGNs -YXNzPSJaaWZmZXJFMSI+MS48L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iQWxpZ25KdXN0 -aWZ5IEUxU3AyIiBjb2xzcGFuPSI3Ij4KPHAgY2xhc3M9IlppZmZlckUxIj5Sb2hl -IEt1aG1pbGNoOjwvcD4KPC90ZD4KPC90cj4KCQkJCQoJCQkJPHRyPgo8dGQgY2xh -c3M9IlczOCI+PC90ZD4KPHRkIGNsYXNzPSJBbGlnbkp1c3RpZnkiIGNvbHNwYW49 -IjciPgo8cCBjbGFzcz0iU2NobHVzc3RlaWxaaWZmIj5hKSBLZWltemFobCBiZWkg -MzDCsEMgKHBybyBtbCk6IDxpbWcgYWx0PSIiIHNyYz0iLi9CaWxkZXItRGF0ZWll -bi9CaWxkZXIuaW1nMWlzLmdpZiI+PC9pbWc+IDUwIDAwMDs8L3A+CjwvdGQ+Cjwv -dHI+CgkJCQk8dHI+Cjx0ZCBjbGFzcz0iVzM4Ij48L3RkPgo8dGQgY2xhc3M9IkFs -aWduSnVzdGlmeSIgY29sc3Bhbj0iNyI+CjxwIGNsYXNzPSJTY2hsdXNzdGVpbFpp -ZmYiPmIpIFNvbWF0aXNjaGUgWmVsbGVuIChwcm8gbWwpOiA8aW1nIGFsdD0iIiBz -cmM9Ii4vQmlsZGVyLURhdGVpZW4vQmlsZGVyLmltZzJpcy5naWYiPjwvaW1nPiA0 -MDAgMDAwLjwvcD4KPC90ZD4KPC90cj4KCQkJCQoJCQkJCTx0cj4KPHRkIGNsYXNz -PSJXMzggQWxpZ25SaWdodCBWQWxpZ25Ub3AiPgo8cCBjbGFzcz0iWmlmZmVyRTEi -PjIuPC9wPgo8L3RkPgo8dGQgY2xhc3M9IkFsaWduSnVzdGlmeSBFMVNwMiIgY29s -c3Bhbj0iNyI+CjxwIGNsYXNzPSJaaWZmZXJFMSI+Um9obWlsY2ggdm9uIGFuZGVy -ZW4gVGllcmFydGVuOiBLZWltemFobCBiZWkgMzDCsEMgKHBybyBtbCk6IDxpbWcg -YWx0PSIiIHNyYz0iLi9CaWxkZXItRGF0ZWllbi9CaWxkZXIuaW1nM2lzLmdpZiI+ -PC9pbWc+IDUwMCAwMDAuPC9wPgo8L3RkPgo8L3RyPgoJCQkJCgkJCTwvdGFibGU+ -CgkJCTxwIGNsYXNzPSJVZWJlcnNjaHJQYXJhIEFsaWduQ2VudGVyIj5QZXJzb25l -bmJlem9nZW5lIEJlemVpY2hudW5nZW48L3A+CgkJCTxwIGNsYXNzPSJBYnMgQWxp -Z25KdXN0aWZ5Ij4KCQkJCTxzcGFuIGNsYXNzPSJHbGRTeW1ib2wiPsKnwqA3Ljwv -c3Bhbj4gQmVpIGRlbiBpbiBkaWVzZXIgVmVyb3JkbnVuZyB2ZXJ3ZW5kZXRlbiBw -ZXJzb25lbmJlem9nZW5lbiBCZXplaWNobnVuZ2VuIGdpbHQgZGllIGdld8OkaGx0 -ZSBGb3JtIGbDvHIgYmVpZGUgR2VzY2hsZWNodGVyLjwvcD4KCQkJPHAgY2xhc3M9 -IlVlYmVyc2NoclBhcmEgQWxpZ25DZW50ZXIiPlNjaGx1c3NiZXN0aW1tdW5nPC9w -PgoJCQk8cCBjbGFzcz0iQWJzIEFsaWduSnVzdGlmeSI+CgkJCQk8c3BhbiBjbGFz -cz0iR2xkU3ltYm9sIj7Cp8KgOC48L3NwYW4+IERpZXNlIFZlcm9yZG51bmcgd3Vy -ZGUgdW50ZXIgRWluaGFsdHVuZyBkZXIgQmVzdGltbXVuZ2VuIGRlciBSaWNodGxp -bmllIDk4LzM0L0VHIMO8YmVyIGVpbiBJbmZvcm1hdGlvbnN2ZXJmYWhyZW4gYXVm -IGRlbSBHZWJpZXQgZGVyIE5vcm1lbiB1bmQgdGVjaG5pc2NoZW4gVm9yc2Nocmlm -dGVuLCBBQmwuIE5yLiBMIDIwNCB2b20gMjEuIEp1bGkgMTk5OCB1bmQgZGVzIEFy -dGlrZWxzIDEwIEFicy4gNSBkZXIgVmVyb3JkbnVuZyAoRUcpIE5yLiA4NTMvMjAw -NCBtaXQgc3BlemlmaXNjaGVuIEh5Z2llbmV2b3JzY2hyaWZ0ZW4gZsO8ciBMZWJl -bnNtaXR0ZWwgdGllcmlzY2hlbiBVcnNwcnVuZ3MsIEFCbC4gTnIuIEwgMTM5IHZv -bSAzMC4gQXByaWwgMjAwNCwgYmVyaWNodGlndCBkdXJjaCBBQmwuIE5yLiBMIDIy -NiB2b20gMjUuIEp1bmkgMjAwNCwgbm90aWZpemllcnQuPC9wPgoJCQk8cCBjbGFz -cz0iVW50ZXJzY2hyTCI+UmF1Y2gtS2FsbGF0PC9wPgoJCQoJCQkJPHAgY2xhc3M9 -IkZ1c3N6ZWlsZSBBbGlnbkp1c3RpZnkiPnd3dy5yaXMuYmthLmd2LmF0PC9wPgoJ -CQk8L2Rpdj4KCTwvYm9keT4KCQo8L2h0bWw+</sl11:Base64Content></sl11:HashInputData><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==</sl11:Base64Content></sl11:HashInputData><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==</sl11:Base64Content></sl11:HashInputData><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==</sl11:Base64Content></sl11:HashInputData><sl11:SignatureCheck><sl11:Code>0</sl11:Code></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl11:Code>98</sl11:Code></sl11:SignatureManifestCheck><sl11:SignatureManifestCheck><sl11:Code>0</sl11:Code></sl11:SignatureManifestCheck><sl11:CertificateCheck><sl10:Code>1</sl10:Code></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.utf8.xml b/spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.utf8.xml deleted file mode 100644 index 6872e2cf4..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.utf8.xml +++ /dev/null @@ -1,558 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sl11:VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>21221</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate><moa:PublicAuthority/></dsig:X509Data></sl11:SignerInfo><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJPGhl -YWQ+Cjx0aXRsZT5lUmVjaHQgRG9rdW1lbnQgKDEuOS4wKTwvdGl0bGU+CjxzdHls -ZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgLlczOCB7IHdpZHRoOjM4cHg7IH0K -ICAgICAgICAuVzE1IHsgd2lkdGg6MTVweDsgfQogICAgICAgIC5XMjIgeyB3aWR0 -aDoyMnB4OyB9CiAgICAgICAgLndpMTAwIHsgd2lkdGg6MTAwJTsgfQogICAgICAg -IC5XRXJsIHsgd2lkdGg6MTVweDsgfQogICAgICAgIC5FMVNwMiB7IHdpZHRoOjU1 -Ny4zNXB4OyB9CiAgICAgICAgLkUyU3AyIHsgd2lkdGg6NTQyLjM1cHg7IH0KICAg -ICAgICAuRTNTcDIgeyB3aWR0aDo1MjAuMzVweDsgfQogICAgICAgIC5FNFNwMiB7 -IHdpZHRoOjQ5OC4zNXB4OyB9CiAgICAgICAgLkU1U3AyIHsgd2lkdGg6NDc2LjM1 -cHg7IH0KICAgICAgICAuRXJsU3AyIHsgd2lkdGg6NTcwLjM1cHg7IH0KICAgICAg -ICAuRTFTcDJRIHsgd2lkdGg6ODA0cHg7IH0KICAgICAgICAuRTJTcDJRIHsgd2lk -dGg6Nzg5cHg7IH0KICAgICAgICAuRTNTcDJRIHsgd2lkdGg6NzY3cHg7IH0KICAg -ICAgICAuRTRTcDJRIHsgd2lkdGg6NzQ1cHg7IH0KICAgICAgICAuRTVTcDJRIHsg -d2lkdGg6NzIzcHg7IH0KICAgICAgICAuRXJsU3AyUSB7IHdpZHRoOjgxN3B4OyB9 -CiAgICAgICAgLm5leHRwYWdlIHsgcGFnZS1icmVhay1iZWZvcmU6YWx3YXlzOyB9 -CiAgICAgICAgLm1hcmdpbnMge21hcmdpbi10b3A6ODUuMDVwdDttYXJnaW4tcmln -aHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxlZnQ6ODUu -MDVwdDt9CiAgICAgICAgQG1lZGlhIHNjcmVlbiB7IC5wYXBlcncge3dpZHRoOjU5 -NS4zNXB4O21hcmdpbi10b3A6ODUuMDVwdDttYXJnaW4tcmlnaHQ6ODUuMDVwdDtt -YXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxlZnQ6ODUuMDVwdDt9fQogICAg -ICAgIEBtZWRpYSBwcmludCB7IC5wYXBlcncge3dpZHRoOjU5NS4zNXB4O21hcmdp -bi10b3A6MC4wcHQ7bWFyZ2luLXJpZ2h0OjAuMHB0O21hcmdpbi1ib3R0b206MC4w -cHQ7bWFyZ2luLWxlZnQ6MC4wcHQ7c2l6ZTpwb3J0cmFpdDt9fQogICAgICAgIEBt -ZWRpYSBzY3JlZW4geyAucGFwZXJoIHt3aWR0aDo4NDJweDttYXJnaW4tcmlnaHQ6 -ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxlZnQ6ODUuMDVw -dDttYXJnaW4tdG9wOjg1LjA1cHQ7fX0KICAgICAgICBAbWVkaWEgcHJpbnQgeyAu -cGFwZXJoIHt3aWR0aDo4NDJweDttYXJnaW4tdG9wOjAuMHB0O21hcmdpbi1yaWdo -dDowLjBwdDttYXJnaW4tYm90dG9tOjAuMHB0O21hcmdpbi1sZWZ0OjAuMHB0O3Np -emU6bGFuZHNjYXBlfX0KLyogQWxsZ2VtZWluZSBBbmdhYmVuIHp1bSBBbnplaWdl -biB2b24gTGluaWVuIGluIFRhYmVsbGVuICAgICAgKi8KLyoKQHBhZ2UgOmxlZnQg -e3NpemU6IDIxY20gMjkuN2NtO21hcmdpbi1sZWZ0OiAyY207bWFyZ2luLXJpZ2h0 -OiAyY207bWFya3M6Y3JvcDt9CkBwYWdlIDpyaWdodCB7c2l6ZTogMjFjbSAyOS43 -Y207bWFyZ2luLWxlZnQ6IDJjbTttYXJnaW4tcmlnaHQ6IDJjbTttYXJrczpjcm9w -O30KKi8KdGFibGUudG9wIHtib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtib3JkZXIt -dG9wLXdpZHRoOiB0aGluO2JvcmRlci1jb2xvcjogYmxhY2s7fQp0YWJsZS5ib3R0 -b20ge2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO2JvcmRlci1ib3R0b20td2lk -dGg6IHRoaW47Ym9yZGVyLWNvbG9yOiBibGFjazt9CnRkLnRvcCB7Ym9yZGVyLXRv -cC1zdHlsZTpzb2xpZDtib3JkZXItdG9wLXdpZHRoOjFwdDt9CnRkLnJpZ2h0IHti -b3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFwdDt9 -CnRkLmJvdHRvbSB7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90 -dG9tLXdpZHRoOjFwdDt9CnRkLmxlZnQge2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlk -O2JvcmRlci1sZWZ0LXdpZHRoOjFwdDt9Ci8qVGV4dCBpbm5lcmhhbGIgZWluZXIg -VGFiZWxsZW56ZWxsZSBmdWVyICJhYnNhdHoiIHVuZCAidWViZXJzY2hyaWZ0Iiov -Ci5BbGlnbkxlZnQge3RleHQtYWxpZ246bGVmdDt9Ci5BbGlnblJpZ2h0IHt0ZXh0 -LWFsaWduOnJpZ2h0O30KLkFsaWduQ2VudGVyIHt0ZXh0LWFsaWduOmNlbnRlcjt9 -Ci5BbGlnbkp1c3RpZnkge3RleHQtYWxpZ246anVzdGlmeTt9Ci5WQWxpZ25Ub3Ag -e3ZlcnRpY2FsLWFsaWduOnRvcDsJfQovKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBMZWdp -c3Rpay1TdGFuZGFyZC1Gb3JtYXR2b3JsYWdlICAgICAgICAgICAgICAgICAgICAg -ICAgICAgICAqLwovKiBGb3JtYXR2b3JsYWdlOiAwMF9MZWdTdGFuZGFyZCAqLwov -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqLwouTGVnU3RhbmRhcmQgewp0ZXh0LWFsaWduOmp1c3Rp -Znk7LypPSyovCmxpbmUtaGVpZ2h0OjExLjBwdDsKZm9udC1zaXplOjEwLjBwdDsK -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -LwovKiBGb3JtYXR2b3JsYWdlbiBmdWVyIEFic2FldHplICAgICAgICAgICAgICAg -ICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBGb3JtYXR2 -b3JsYWdlOiAwMV9VbmRlZmluaWVydCAqLwpwLlVuZGVmaW5pZXJ0IHttYXJnaW4t -dG9wOjEuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTsvKk9LKi9saW5lLWhlaWdo -dDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjtjb2xvcjogcmVkO30KLyogRm9ybWF0dm9ybGFnZTogMDJfQkRHZXNC -bGF0dCAqLwpwLkJER2VzQmxhdHQge21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4 -dC1hbGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDozNS4wcHQ7Zm9udC1zaXplOjM1 -LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazt0 -ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS4zcHQ7Zm9u -dC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDAzX1JlcE9lc3RlcnIg -Ki8KcC5SZXBPZXN0ZXJyIHttYXJnaW4tdG9wOjYuMHB0O21hcmdpbi1yaWdodDow -Y207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO21hcmdpbi1ib3R0 -b206MTIuMHB0Oy8qdGV4dC1hbGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDoyMC4w -cHQ7Ym9yZGVyOm5vbmU7cGFkZGluZzowY207Zm9udC1zaXplOjIwLjBwdDtmb250 -LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazt0ZXh0LXRyYW5z -Zm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS4wcHQ7Zm9udC13ZWlnaHQ6 -Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDA0X0F1c2dhYmVEYXRlbiAqLwpwLkF1 -c2dhYmVEYXRlbiB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJn -aW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6MTQuMHB0 -O3BhZGRpbmc6MGNtO2ZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7Y29sb3I6IGJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBG -b3JtYXR2b3JsYWdlOiAwNV9LdXJ6dGl0ZWwKS3VyenRpdGVsIGluIGVpbmVyIFNw -YWx0ZSAod2VubiBrZWluIFRBQiB2b3JoYW5kZW4gaXN0KSAqLwpwLkt1cnp0aXRl -bDEge21hcmdpbi10b3A6Mi4wcHQ7bWFyZ2luLXJpZ2h0OiAwY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6IDMuNmNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5 -OyovdGV4dC1pbmRlbnQ6IC0zLjZjbTtib3JkZXI6bm9uZTtwYWRkaW5nOjBjbTtm -b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBLdXJ6dGl0ZWwgaW4gendl -aSBTcGFsdGVuICh3ZW5uIGVpbiBUQUIgdm9yaGFuZGVuIGlzdCkgKi8KcC5LdXJ6 -dGl0ZWwyIHttYXJnaW4tdG9wOjIuMHB0O21hcmdpbi1yaWdodDogMGNtO21hcmdp -bi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OiAwY207Lyp0ZXh0LWFsaWduOmp1c3Rp -Znk7Ki9ib3JkZXI6bm9uZTtwYWRkaW5nOjBjbTtmb250LXNpemU6MTAuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2Vp -Z2h0OmJvbGQ7fQpzcGFuLkt1cnp0aXRlbGJyZWl0ZSB7d2lkdGg6IDMuNGNtO30K -LyogRm9ybWF0dm9ybGFnZTogMDlfQWJzdGFuZCAqLwpwLkFic3RhbmQge21hcmdp -bjo2LjBwdDttYXJnaW4tYm90dG9tOjYuMHB0O2xpbmUtaGVpZ2h0OjEwLjBwdDtm -b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO30KLyogRm9ybWF0dm9ybGFnZTogMTBfRW50d3VyZiAqLwpwLkVu -dHd1cmYge21hcmdpbi10b3A6ODAuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2lu -LWJvdHRvbTo2NC4wcHQ7bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50 -ZXI7Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjtsZXR0ZXItc3BhY2luZzoxLjNwdDt9Ci8q -IEZvcm1hdHZvcmxhZ2U6IDExX1RpdGVsICovCnAuVGl0ZWwge21hcmdpbi10b3A6 -MjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2lu -LWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5OyovbGluZS1oZWlnaHQ6MTEu -MHB0O2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDEyX1Byb21L -bF9FaW5sU2F0eiAqLwkKcC5Qcm9tS2xFaW5sU2F0eiB7bWFyZ2luLXRvcDo4LjBw -dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0 -OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL3RleHQtaW5kZW50OjE5Ljg1cHQ7 -bGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8qIEZv -cm1hdHZvcmxhZ2U6IDE4X0FiYmlsZHVuZ19vZGVyX09iamVrdCAqLwpwLkFiYmls -ZHVuZ29kZXJPYmpla3Qge21hcmdpbi10b3A6Ni4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjYuMHB0O21hcmdpbi1sZWZ0OjBjbTtmb250LXNpemU6 -MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNr -O30KLyogRm9ybWF0dm9ybGFnZTogMTlfQmVzY2hyaWZ0dW5nICovCnAuQmVzY2hy -aWZ0dW5nIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206Ni4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtm -b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO30KLyogRm9ybWF0dm9ybGFnZTogMjFfTm92QW8xICovCnAuTm92 -QW8xIHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5Oyov -bGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250LXN0 -eWxlOml0YWxpYzt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDIyX05vdkFvMSAqLwpwLk5v -dkFvMiB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsq -L2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQtc3R5bGU6aXRhbGljO30KLyogRm9ybWF0 -dm9ybGFnZTogMjNfU2F0el8obmFjaF9Ob3ZhbykgKi8KcC5TYXR6bmFjaE5vdmFv -IHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5OyovbGlu -ZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiAz -MF9JbmhhbHRVZWJlcnNjaHJpZnQgKi8KcC5JbmhhbHRVZWJlcnNjaHJpZnQge21h -cmdpbi10b3A6MTYuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo4 -LjBwdDttYXJnaW4tbGVmdDowY207dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDMx -X0luaGFsdFNwYWx0ZSAqLwpwLkluaGFsdFNwYWx0ZSB7bWFyZ2luLXRvcDo0LjBw -dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NC4wcHQ7bWFyZ2luLWxl -ZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lk -O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7 -Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDMyX0luaGFsdEVp -bnRyYWcgKi8KcC5JbmhhbHRFaW50cmFnIHttYXJnaW4tdG9wOjBjbTttYXJnaW4t -cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5l -LWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDQxX1VlYmVyc2Nockcx -ICovCnAuVWViZXJzY2hyRzEge21hcmdpbi10b3A6MTYuMHB0O21hcmdpbi1yaWdo -dDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1h -bGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVhay1hZnRl -cjphdm9pZDtmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2 -b3JsYWdlOiA0Ml9VZWJlcnNjaHJHMS0gKi8KcC5VZWJlcnNjaHJHMS0ge21hcmdp -bi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTtt -YXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0 -OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMS4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13 -ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDQzX1VlYmVyc2NockcyICov -CnAuVWViZXJzY2hyRzIge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjQuMHB0O21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxp -Z246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6 -YXZvaWQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9y -bGFnZTogNDRfVWViZXJzY2hyQXJ0ICovCnAuVWViZXJzY2hyQXJ0IHttYXJnaW4t -dG9wOjguMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50ZXI7Ki9saW5lLWhlaWdodDox -MS4wcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZDtmb250LXNpemU6MTAuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2Vp -Z2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA0NV9VZWJlcnNjaHJQYXJhICov -CnAuVWViZXJzY2hyUGFyYSB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6 -MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxp -Z246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6 -YXZvaWQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9y -bGFnZTogNTFfQWJzICovCnAuQWJzIHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4 -dC1hbGlnbjpqdXN0aWZ5OyovdGV4dC1pbmRlbnQ6MTkuODVwdDsvKmxpbmUtaGVp -Z2h0OjExLjBwdDsqL2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1Ml9aaWZmZXJfZTEgLSBl -MyAqLwpwLlppZmZlckUxLCBwLlppZmZlckUyLCBwLlppZmZlckUzIHttYXJnaW4t -dG9wOjIuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0 -O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFn -ZTogNTJfWmlmZmVyX21pdF9CZXRyYWcgKi8KcC5aaWZmZXJNaXRCZXRyYWcge21h -cmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207 -bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlvbi13 -cmFwOnNpbXBsZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdl -OiA1MmFUX1ppZmZlcl9taXRfQmV0cmFnX1RHVUUgKi8KcC5aaWZmZXJNaXRCZXRy -YWdUR1VFIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7cHVu -Y3R1YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRvc3BhY2U6bm9uZTtmb250LXNp -emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9y -bWF0dm9ybGFnZTogNTNfTGl0ZXJhX2UxIC0gZTMgKi8KcC5MaXRlcmFFMSwgcC5M -aXRlcmFFMiwgcC5MaXRlcmFFMyB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmln -aHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDUzX0xpdGVyYV9taXRfQmV0 -cmFnICovCnAuTGl0ZXJhTWl0QmV0cmFnIHttYXJnaW4tdG9wOjBjbTttYXJnaW4t -cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5l -LWhlaWdodDoxMS4wcHQ7cHVuY3R1YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRv -c3BhY2U6bm9uZTtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFnZTogNTNhVF9MaXRlcmFfbWl0X0Jl -dHJhZ19UR1VFICovCnAuTGl0ZXJhTWl0QmV0cmFnVEdVRSB7bWFyZ2luLXRvcDow -Y207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVm -dDowY207bGluZS1oZWlnaHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2ltcGxl -O3RleHQtYXV0b3NwYWNlOm5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDU0X1N1Ymxp -dGVyYV9lMSAtIGUzICovCnAuU3VibGl0ZXJhRTEsIHAuU3VibGl0ZXJhRTIsIHAu -U3VibGl0ZXJhRTMge21hcmdpbi10b3A6Mi4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTtt -YXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6MTEu -MHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJsaXRlcmFfbWl0X0JldHJhZyAq -LwpwLlN1YmxpdGVyYU1pdEJldHJhZyB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJp -Z2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1o -ZWlnaHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2ltcGxlO3RleHQtYXV0b3Nw -YWNlOm5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDU0YVRfU3VibGl0ZXJhX21pdF9C -ZXRyYWdfVEdVRSAqLwpwLlN1YmxpdGVyYU1pdEJldHJhZ1RHVUUge21hcmdpbi10 -b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2lu -LWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlvbi13cmFwOnNp -bXBsZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NGFf -U3RyaWNoX2UxIC0gZTcgKi8KcC5TdHJpY2hFMSwgcC5TdHJpY2hFMiwgcC5TdHJp -Y2hFMywgcC5TdHJpY2hFNCwgcC5TdHJpY2hFNSwgcC5TdHJpY2hFNiwgcC5TdHJp -Y2hFNyB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9u -dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8q -IEZvcm1hdHZvcmxhZ2U6IDU1X1NjaGx1c3N0ZWlsQWJzLCA1Nl9TY2hsdXNzdGVp -bFppZmYsIDU3X1NjaGx1c3N0ZWlsTGl0Ki8KcC5TY2hsdXNzdGVpbEFicywgcC5T -Y2hsdXNzdGVpbFppZmYsIHAuU2NobHVzc3RlaWxMaXQge21hcmdpbjowY207IGxp -bmUtaGVpZ2h0OjExLjBwdDsgZm9udC1zaXplOjEwLjBwdDsgZm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA2MV9UYWJUZXh0 -ICovCnAuVGFiVGV4dCB7bWFyZ2luOjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9u -dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xv -cjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDYxYV9UYWJUZXh0UmVjaHRzYiAq -LwpwLlRhYlRleHRSZWNodHNiIHttYXJnaW46MGNtO3RleHQtYWxpZ246cmlnaHQ7 -bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdl -OiA2MWJfVGFiVGV4dFplbnRyaWVydCAqLwpwLlRhYlRleHRaZW50cmllcnQge21h -cmdpbjowY207dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTEuMHB0O2Zv -bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29s -b3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiA2MWNfVGFiVGV4dEJsb2NrICov -CnAuVGFiVGV4dEJsb2NrIHttYXJnaW46MGNtO3RleHQtYWxpZ246anVzdGlmeTts -aW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6 -IDYyX0tvcGZ6ZWlsZSAqLwpwLktvcGZ6ZWlsZSB7bWFyZ2luLXRvcDo0LjBwdDtt -YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBj -bTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtmb250 -LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9y -OiAjQzBDMEMwO30KLyogRm9ybWF0dm9ybGFnZTogNjNfRnXDn3plaWxlICovCnAu -RnVzc3plaWxlIHttYXJnaW4tdG9wOjEwLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21h -cmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVz -dGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6OS4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6ICNDMEMwQzA7fQovKiBGb3Jt -YXR2b3JsYWdlOiA2NF9GTl9MaW5pZSAqLwpwLkZOTGluaWUge21hcmdpbi10b3A6 -MTEuMHB0O21hcmdpbi1yaWdodDoxMy4wY207bWFyZ2luLWJvdHRvbToxLjBwdDtt -YXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6MTEuMHB0O3BhZGRpbmc6MGNtO2Zv -bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29s -b3I6YmxhY2s7Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7Ym9yZGVyLWJvdHRv -bS1jb2xvcjogR3JheTtib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7fQovKiBGb3Jt -YXR2b3JsYWdlOiA2NV9GTl9UZXh0ICovCnAuRk5UZXh0IHttYXJnaW46MGNtO3Rl -eHQtYWxpZ246anVzdGlmeTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjku -MHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30K -LyogRm9ybWF0dm9ybGFnZTogNjZfRk5fWmVpY2hlbiAqLwpzcGFuLkZOWmVpY2hl -biB7dmVydGljYWwtYWxpZ246c3VwZXI7fQovKiBGb3JtYXR2b3JsYWdlOiA2OF9V -bnRlcnNjaHJMICovCnAuVW50ZXJzY2hyTCB7bWFyZ2luLXRvcDo4LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0 -ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4w -cHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9u -dC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDY5X1VudGVyc2Nock0g -Ki8KcC5VbnRlcnNjaHJNIHttYXJnaW4tdG9wOjguMHB0O21hcmdpbi1yaWdodDow -Y207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246 -Y2VudGVyO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0 -OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA3MV9BbmxhZ2VuYmV6ICovCnAuQW5s -YWdlbmJleiB7bWFyZ2luLXRvcDo4LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdp -bi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246cmlnaHQ7 -Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xk -O30KLyogRm9ybWF0dm9ybGFnZTogODFfRXJsVWViZXJzY2hyWiAqLwpwLkVybFVl -YmVyc2Nocloge21hcmdpbi10b3A6MTYuMHB0O21hcmdpbi1yaWdodDowY207bWFy -Z2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50 -ZXI7Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZDtm -b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2Nv -bG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA4 -Ml9FcmxVZWJlcnNjaHJMICovCnAuRXJsVWViZXJzY2hyTCB7bWFyZ2luLXRvcDo0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBw -dDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6 -Ym9sZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDgzX0VybFRleHQgKi8KcC5FcmxUZXh0 -IHttYXJnaW4tdG9wOjQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpqdXN0aWZ5OyovbGlu -ZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA4NV9FcmxBdWZ6YWVo -bGcgLSBub2NoIG5pY2h0IGZlcnRpZyAqLwpwLkVybEF1ZnphZWhsZyB7bWFyZ2lu -LXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21h -cmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEu -MHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiA4OV9UR1VFX1VlYmVy -c2NoclNwYWx0ZSovCnAuVEdVRVVlYmVyc2NoclNwYWx0ZSB7bWFyZ2luLXRvcDo0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0 -O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpi -b2xkO30KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZW4gZnVlciBa -ZWljaGVuZm9ybWF0aWVydW5nICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZTogOTkwX0ZlaGxlciAqLwpzcGFu -LkZlaGxlciB7Y29sb3I6IHJlZDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5MV9HbGRT -eW1ib2wgKi8Kc3Bhbi5HbGRTeW1ib2wge2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBG -b3JtYXR2b3JsYWdlOiA5OTJfTm9ybWFsICovCnNwYW4uTm9ybWFsIHtmb250LXN0 -eWxlOiBub3JtYWw7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTNfRmV0dCAqLwpzcGFu -LkZldHQge2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTRf -S3Vyc2l2ICovCnNwYW4uS3Vyc2l2IHtmb250LXN0eWxlOml0YWxpYzt9Ci8qIEZv -cm1hdHZvcmxhZ2U6IDk5NV9VbnRlcnN0cmljaGVuICovCnNwYW4uVW50ZXJzdHJp -Y2hlbiB7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9Ci8qIEZvcm1hdHZvcmxh -Z2U6IDk5Nl9HZXNwZXJydCAqLwpzcGFuLkdlc3BlcnJ0IHtsZXR0ZXItc3BhY2lu -ZzoxLjNwdDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5N19Ib2NoICovCnNwYW4uSG9j -aCB7bGluZS1oZWlnaHQ6IDYwJTsgZm9udC1zaXplOiA2MCU7IHZlcnRpY2FsLWFs -aWduOnN1cGVyO30KLyogRm9ybWF0dm9ybGFnZTogOTk4X1RpZWYgKi8Kc3Bhbi5U -aWVmIHt2ZXJ0aWNhbC1hbGlnbjpzdWI7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTlf -RmV0dF91bmRfS3Vyc2l2ICovCnNwYW4uRmV0dHVuZEt1cnNpdiB7Zm9udC13ZWln -aHQ6Ym9sZDsgZm9udC1zdHlsZTppdGFsaWM7fQovKiBTdGFuZGFyZHRhYnNjaHJp -dHR3ZWl0ZSBhdXMgV29yZCAqLwpzcGFuLlN0YW5kYXJkdGFidWxhdG9yIHt3aWR0 -aDozNS40NXB0O30KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZW4g -ZGVyIFBhcmxhbWVudHNkaXJla3Rpb24gICAgICAgICAgICAgICAgICAgICAgKi8K -LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKi8KcC5QREFsbG9uZ2UsIGxpLlBEQWxsb25nZSwgZGl2 -LlBEQWxsb25nZSB7bWFyZ2luLXRvcDoxNC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTtt -YXJnaW4tYm90dG9tOjEwLjBwdDttYXJnaW4tbGVmdDowY207dGV4dC1hbGlnbjpj -ZW50ZXI7Zm9udC1zaXplOjE0LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBEQWxsb25nZUIsIGxpLlBE -QWxsb25nZUIsIGRpdi5QREFsbG9uZ2VCIHttYXJnaW4tdG9wOjE0LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0O21hcmdpbi1sZWZ0OjBj -bTt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1zaXplOjE0LjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBE -QWxsb25nZUwsIGxpLlBEQWxsb25nZUwsIGRpdi5QREFsbG9uZ2VMIHttYXJnaW4t -dG9wOjE0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0 -O21hcmdpbi1sZWZ0OjBjbTtmb250LXNpemU6MTQuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO2xheW91dC1ncmlkLW1vZGU6bGluZTt9CnAuUERBbnRy -YWdzZm9ybWVsLCBsaS5QREFudHJhZ3Nmb3JtZWwsIGRpdi5QREFudHJhZ3Nmb3Jt -ZWwge21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtsaW5l -LWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBERGF0dW0s -IGxpLlBERGF0dW0sIGRpdi5QRERhdHVtIHttYXJnaW4tdG9wOjE0LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0 -ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZTox -MC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdyaWQt -bW9kZTpsaW5lO30KcC5QREVudHNjaGxpZXNzdW5nLCBsaS5QREVudHNjaGxpZXNz -dW5nLCBkaXYuUERFbnRzY2hsaWVzc3VuZyB7bWFyZ2luLXRvcDo4LjBwdDttYXJn -aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTts -aW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7Zm9udC13ZWln -aHQ6Ym9sZDt9CnAuUERLMSwgbGkuUERLMSwgZGl2LlBESzEge21hcmdpbjowY207 -dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOm5vbmU7cGFkZGluZzowY207Zm9udC1z -aXplOjEyLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtsZXR0ZXIt -c3BhY2luZzotLjRwdDtmb250LXdlaWdodDpib2xkO30KcC5QREsxQW5sYWdlLCBs -aS5QREsxQW5sYWdlLCBkaXYuUERLMUFubGFnZSB7bWFyZ2luOjBjbTt0ZXh0LWFs -aWduOnJpZ2h0O2ZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7bGV0dGVyLXNwYWNpbmc6LS40cHQ7Zm9udC13ZWlnaHQ6Ym9sZDt9 -CnAuUERLMUF1c2csIGxpLlBESzFBdXNnLCBkaXYuUERLMUF1c2cge21hcmdpbi10 -b3A6NjIuOXB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbToyNy4wcHQ7 -bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERLMiwgbGkuUERL -MiwgZGl2LlBESzIge21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFy -Z2luLWJvdHRvbToxMS4zNXB0O21hcmdpbi1sZWZ0OjBjbTtmb250LXNpemU6MjIu -MHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJv -bGQ7fQpwLlBESzMsIGxpLlBESzMsIGRpdi5QREszIHttYXJnaW4tdG9wOjBjbTtt -YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MjAuMHB0O21hcmdpbi1sZWZ0 -OjBjbTtmb250LXNpemU6MTguMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t -YW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQpwLlBESzQsIGxpLlBESzQsIGRpdi5QREs0 -IHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206 -Ni4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6ZToxMy4wcHQ7Zm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERLb3Bm -emVpbGUsIGxpLlBES29wZnplaWxlLCBkaXYuUERLb3BmemVpbGUge21hcmdpbi10 -b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJn -aW4tbGVmdDowY207dGV4dC1hbGlnbjpqdXN0aWZ5O2xpbmUtaGVpZ2h0OjExLjBw -dDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i -O2xheW91dC1ncmlkLW1vZGU6bGluZTt9CnAuUERVMSwgbGkuUERVMSwgZGl2LlBE -VTEge21hcmdpbi10b3A6MjIuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250 -LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQt -d2VpZ2h0OmJvbGQ7fQpwLlBEVTIsIGxpLlBEVTIsIGRpdi5QRFUyIHttYXJnaW4t -dG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFy -Z2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6OS4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpwLlBEVm9ybGFnZSwgbGku -UERWb3JsYWdlLCBkaXYuUERWb3JsYWdlIHttYXJnaW4tdG9wOjBjbTttYXJnaW4t -cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0O21hcmdpbi1sZWZ0OjBjbTt0 -ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZTox -MS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdyaWQt -bW9kZTpsaW5lO2ZvbnQtd2VpZ2h0OmJvbGQ7fQo8L3N0eWxlPgo8L2hlYWQ+Cgk8 -Ym9keT4KCQk8ZGl2IGNsYXNzPSJwYXBlcnciPgoJCQkKCQkJCgkJCQoJCQkKCQkJ -PHAgY2xhc3M9IkJER2VzQmxhdHQgQWxpZ25DZW50ZXIiPkJVTkRFU0dFU0VUWkJM -QVRUPC9wPgoJCQk8cCBjbGFzcz0iUmVwT2VzdGVyciBBbGlnbkNlbnRlciI+RsOc -UiBESUUgUkVQVUJMSUsgw5ZTVEVSUkVJQ0g8L3A+CgkJCTx0YWJsZSBjbGFzcz0i -dG9wIGJvdHRvbSB3aTEwMCI+Cjx0cj4KCQkJCTx0ZD4KPHAgY2xhc3M9IkF1c2dh -YmVEYXRlbiBBbGlnbkxlZnQiPkphaHJnYW5nIDIwMDY8L3A+CjwvdGQ+CgkJCQk8 -dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0ZW4gQWxpZ25DZW50ZXIiPkF1c2dlZ2Vi -ZW4gYW0gOS4gTcOkcnogMjAwNjwvcD4KPC90ZD4KCQkJCTx0ZD4KPHAgY2xhc3M9 -IkF1c2dhYmVEYXRlbiBBbGlnblJpZ2h0Ij5UZWlsIElJPC9wPgo8L3RkPgoJCQk8 -L3RyPgo8L3RhYmxlPgoJCQk8dGFibGUgY2xhc3M9ImJvdHRvbSB3aTEwMCI+Cjx0 -cj4KPHRkPgo8cCBjbGFzcz0iS3VyenRpdGVsMiBBbGlnbkxlZnQgVkFsaWduVG9w -Ij4KPHNwYW4gY2xhc3M9Ikt1cnp0aXRlbGJyZWl0ZSI+MTA2LiBWZXJvcmRudW5n -Ojwvc3Bhbj4KPC9wPgo8L3RkPgo8dGQ+CjxwIGNsYXNzPSJLdXJ6dGl0ZWwyIEFs -aWduTGVmdCI+Um9obWlsY2h2ZXJvcmRudW5nPC9wPgo8L3RkPgo8L3RyPgo8L3Rh -YmxlPgoJCQk8cCBjbGFzcz0iVGl0ZWwgQWxpZ25KdXN0aWZ5Ij4xMDYuIFZlcm9y -ZG51bmcgZGVyIEJ1bmRlc21pbmlzdGVyaW4gZsO8ciBHZXN1bmRoZWl0IHVuZCBG -cmF1ZW4gw7xiZXIgUm9obWlsY2ggdW5kIFJvaHJhaG0gKFJvaG1pbGNodmVyb3Jk -bnVuZyk8L3A+CgkJCTxwIGNsYXNzPSJQcm9tS2xFaW5sU2F0eiBBbGlnbkp1c3Rp -ZnkiPkF1ZiBHcnVuZCBkZXMgwqcgMTQgWiAxIGRlcyBMZWJlbnNtaXR0ZWxzaWNo -ZXJoZWl0cy0gdW5kIFZlcmJyYXVjaGVyc2NodXR6Z2VzZXR6ZXMg4oCTIExNU1ZH -LCBCR0JsLiBJIE5yLiAxMy8yMDA2LCBnZcOkbmRlcnQgZHVyY2ggZGFzIEJ1bmRl -c2dlc2V0eiBCR0JsLiBJIE5yLiAxNTEvMjAwNSwgd2lyZCBpbSBFaW52ZXJuZWht -ZW4gbWl0IGRlbSBCdW5kZXNtaW5pc3RlciBmw7xyIExhbmQtIHVuZCBGb3JzdHdp -cnRzY2hhZnQsIFVtd2VsdCB1bmQgV2Fzc2Vyd2lydHNjaGFmdCB2ZXJvcmRuZXQ6 -PC9wPgoJCQk8cCBjbGFzcz0iVWViZXJzY2hyUGFyYSBBbGlnbkNlbnRlciI+R2Vs -dHVuZ3NiZXJlaWNoPC9wPgoJCQk8cCBjbGFzcz0iQWJzIEFsaWduSnVzdGlmeSI+ -CgkJCQk8c3BhbiBjbGFzcz0iR2xkU3ltYm9sIj7Cp8KgMS48L3NwYW4+IERpZXNl -IFZlcm9yZG51bmcgcmVnZWx0IGRhcyBJbnZlcmtlaHJicmluZ2VuIHZvbiBSb2ht -aWxjaCB1bmQgUm9ocmFobSwgZGllIGbDvHIgZGVuIHVubWl0dGVsYmFyZW4gbWVu -c2NobGljaGVuIFZlcnplaHIgYmVzdGltbXQgc2luZCBzb3dpZSBkYW1pdCBpbiBa -dXNhbW1lbmhhbmcgc3RlaGVuZGUgQmVoYW5kbHVuZ3MtIHVuZCBLZW5uemVpY2hu -dW5ndm9yc2NocmlmdGVuLjwvcD4KCQkJPHAgY2xhc3M9IlVlYmVyc2NoclBhcmEg -QWxpZ25DZW50ZXIiPkFsbGdlbWVpbmUgQmVzdGltbXVuZ2VuPC9wPgoJCQk8cCBj -bGFzcz0iQWJzIEFsaWduSnVzdGlmeSI+CgkJCQk8c3BhbiBjbGFzcz0iR2xkU3lt -Ym9sIj7Cp8KgMi48L3NwYW4+ICgxKSBSb2htaWxjaCB1bmQgUm9ocmFobSBkw7xy -ZmVuIG51ciBkaXJla3Qgdm9tIFRpZXJoYWx0ZXIgYW4gZGVuIEVuZHZlcmJyYXVj -aGVyIG9kZXIgYW4gRWluemVsaGFuZGVsc3VudGVybmVobWVuIHVuZCB2b24gZGll -c2VuIEVpbnplbGhhbmRlbHN1bnRlcm5laG1lbiBkaXJla3QgYW4gZGVuIEVuZHZl -cmJyYXVjaGVyIGFiZ2VnZWJlbiB3ZXJkZW4uPC9wPgoJCQk8cCBjbGFzcz0iQWJz -IEFsaWduSnVzdGlmeSI+KDIpIFJvaG1pbGNoIHVuZCBSb2hyYWhtIGTDvHJmZW4g -bmljaHQgYW4gU2NodWxlbiB1bmQgS2luZGVyZ8OkcnRlbiBhYmdlZ2ViZW4gd2Vy -ZGVuLiBBbmRlcmUgRWlucmljaHR1bmdlbiBkZXIgR2VtZWluc2NoYWZ0c3ZlcnNv -cmd1bmcsIGRlbmVuIFJvaG1pbGNoIG9kZXIgUm9ocmFobSBnZW3DpMOfIEFicy4g -MSBhYmdlZ2ViZW4gd2lyZCwgZMO8cmZlbiBkaWVzZSBudXIgenVtIFp3ZWNrZSBk -ZXIgSGVyc3RlbGx1bmcgdm9uIFNwZWlzZW4gdW5kIEdldHLDpG5rZW4gdmVyd2Vu -ZGVuLCBkaWUgZWluZW0gRXJoaXR6dW5nc3ZlcmZhaHJlbiB1bnRlcnpvZ2VuIHdl -cmRlbiwgbWl0IGRlbSBlaW5lIGF1c3JlaWNoZW5kIGhvaGUgS2VybnRlbXBlcmF0 -dXIgZXJ6aWVsdCB3aXJkLCB1bSBkaWUgQWJ0w7Z0dW5nIHZvbiBwYXRob2dlbmVu -IE1pa3Jvb3JnYW5pc21lbiBzaWNoZXJ6dXN0ZWxsZW4uPC9wPgoJCQk8cCBjbGFz -cz0iVWViZXJzY2hyUGFyYSBBbGlnbkNlbnRlciI+TWlsY2hhdXRvbWF0ZW48L3A+ -CgkJCTxwIGNsYXNzPSJBYnMgQWxpZ25KdXN0aWZ5Ij4KCQkJCTxzcGFuIGNsYXNz -PSJHbGRTeW1ib2wiPsKnwqAzLjwvc3Bhbj4gUm9obWlsY2gga2FubiBkdXJjaCBl -aW5lbiBuYWNoIGFuZXJrYW5udGVuIEtyaXRlcmllbiBnZXByw7xmdGVuIE1pbGNo -YXV0b21hdGVuIGFiZ2VnZWJlbiB3ZXJkZW4sIHdlbm4gZ2V3w6RocmxlaXN0ZXQg -aXN0LCBkYXNzIGRpZSBSb2htaWxjaCBkdXJjaCBkZW4gTWlsY2hhdXRvbWF0ZW4g -b2RlciBkZXNzZW4gU3RhbmRvcnQga2VpbmUgaHlnaWVuaXNjaCBuYWNodGVpbGln -ZSBCZWVpbnRyw6RjaHRpZ3VuZyBlcmbDpGhydC48L3A+CgkJCTxwIGNsYXNzPSJV -ZWJlcnNjaHJQYXJhIEFsaWduQ2VudGVyIj5aZWl0cHVua3QgZGVyIEFiZ2FiZTwv -cD4KCQkJPHAgY2xhc3M9IkFicyBBbGlnbkp1c3RpZnkiPgoJCQkJPHNwYW4gY2xh -c3M9IkdsZFN5bWJvbCI+wqfCoDQuPC9zcGFuPiBSb2htaWxjaCBkYXJmIG51ciBh -bSBUYWcgZGVyIEdld2lubnVuZyB1bmQgYW4gZGVuIHp3ZWkgZGFyYXVmIGZvbGdl -bmRlbiBUYWdlbiBhYmdlZ2ViZW4gd2VyZGVuLiBSb2hyYWhtIGRhcmYgbnVyIGFt -IFRhZyBkZXIgR2V3aW5udW5nIGRlciBSb2htaWxjaCBvZGVyIGFtIGRhcmF1ZiBm -b2xnZW5kZW4gVGFnIGF1cyBkaWVzZXIgaGVyZ2VzdGVsbHQgdW5kIGFiZ2VnZWJl -biB3ZXJkZW4uPC9wPgoJCQk8cCBjbGFzcz0iVWViZXJzY2hyUGFyYSBBbGlnbkNl -bnRlciI+S2VubnplaWNobnVuZzwvcD4KCQkJPHAgY2xhc3M9IkFicyBBbGlnbkp1 -c3RpZnkiPgoJCQkJPHNwYW4gY2xhc3M9IkdsZFN5bWJvbCI+wqfCoDUuPC9zcGFu -PiAoMSkgVW5iZXNjaGFkZXQgZGVyIEJlc3RpbW11bmdlbiBkZXIgTGViZW5zbWl0 -dGVsa2VubnplaWNobnVuZ3N2ZXJvcmRudW5nIDE5OTMgLSBMTUtWLCBCR0JsLiBO -ci4gNzIvMTk5MyBpbiBkZXIgamV3ZWlscyBnZWx0ZW5kZW4gRmFzc3VuZywgaXN0 -IFJvaG1pbGNoIHp1bSB1bm1pdHRlbGJhcmVuIG1lbnNjaGxpY2hlbiBWZXJ6ZWhy -IG1pdCBkZW0gSGlud2VpcyDigJ5Sb2htaWxjaCwgdm9yIGRlbSBWZXJ6ZWhyIGFi -a29jaGVu4oCcIHVuZCBSb2hyYWhtIG1pdCBkZW0gSGlud2VpcyDigJ5Sb2hyYWht -LCBudXIgenVyIEhlcnN0ZWxsdW5nIHZvbiBkdXJjaGVyaGl0enRlbiBTcGVpc2Vu -IHZlcndlbmRlbuKAnCB6dSBkZWtsYXJpZXJlbi48L3A+CgkJCTxwIGNsYXNzPSJB -YnMgQWxpZ25KdXN0aWZ5Ij4oMikgQmVpIFJvaG1pbGNoIHVuZCBSb2hyYWhtLCBk -aWUgbmljaHQgZ2Vtw6TDnyBkZXIgTGViZW5zbWl0dGVsa2VubnplaWNobnVuZ3N2 -ZXJvcmRudW5nIDE5OTMgLUxNS1YgenUga2VubnplaWNobmVuIHNpbmQgdW5kIG5p -Y2h0IHp1bSB1bm1pdHRlbGJhcmVuIFZlcnplaHIgYW4gT3J0IHVuZCBTdGVsbGUg -YmVzdGltbXQgc2luZCwgaGF0IGRlciBIaW53ZWlzIGdlbcOkw58gQWJzLiAxIC0g -YmVpIEFiZ2FiZSBhbiBkZW4gRW5kdmVyYnJhdWNoZXIgLSBhdWYgZWluZW0gQXVz -aGFuZywgZGVuIGRlciBFbmR2ZXJicmF1Y2hlciBlaW5zZWhlbiBrYW5uLCBkZXV0 -bGljaCBsZXNiYXIgenUgZXJmb2xnZW4uIEJlaSBBYmdhYmUgYW4gRWluemVsaGFu -ZGVsc3VudGVybmVobWVuIGlzdCBhdWYgZGVtIFRyYW5zcG9ydGJlaMOkbHRlciB1 -bmQgYXVmIGRlbiBkaWUgV2FyZSBiZWdsZWl0ZW5kZW4gRG9rdW1lbnRlbiwgd2ll -IExpZWZlcnNjaGVpbiBvZGVyIFJlY2hudW5nIOKAnlJvaG1pbGNo4oCcIG9kZXIg -4oCeUm9ocmFobeKAnCBhbnp1Z2ViZW4uPC9wPgoJCQk8cCBjbGFzcz0iVWViZXJz -Y2hyUGFyYSBBbGlnbkNlbnRlciI+S3JpdGVyaWVuPC9wPgoJCQk8cCBjbGFzcz0i -QWJzIEFsaWduSnVzdGlmeSI+CgkJCQk8c3BhbiBjbGFzcz0iR2xkU3ltYm9sIj7C -p8KgNi48L3NwYW4+IFJvaG1pbGNoIG11c3MgZm9sZ2VuZGUgS3JpdGVyaWVuIGVy -ZsO8bGxlbjo8L3A+CgkJCTx0YWJsZSBjbGFzcz0id2kxMDAiPgoJCQkJCgkJCQkJ -PHRyPgo8dGQgY2xhc3M9IlczOCBBbGlnblJpZ2h0IFZBbGlnblRvcCI+CjxwIGNs -YXNzPSJaaWZmZXJFMSI+MS48L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iQWxpZ25KdXN0 -aWZ5IEUxU3AyIiBjb2xzcGFuPSI3Ij4KPHAgY2xhc3M9IlppZmZlckUxIj5Sb2hl -IEt1aG1pbGNoOjwvcD4KPC90ZD4KPC90cj4KCQkJCQoJCQkJPHRyPgo8dGQgY2xh -c3M9IlczOCI+PC90ZD4KPHRkIGNsYXNzPSJBbGlnbkp1c3RpZnkiIGNvbHNwYW49 -IjciPgo8cCBjbGFzcz0iU2NobHVzc3RlaWxaaWZmIj5hKSBLZWltemFobCBiZWkg -MzDCsEMgKHBybyBtbCk6IDxpbWcgYWx0PSIiIHNyYz0iLi9CaWxkZXItRGF0ZWll -bi9CaWxkZXIuaW1nMWlzLmdpZiI+PC9pbWc+IDUwIDAwMDs8L3A+CjwvdGQ+Cjwv -dHI+CgkJCQk8dHI+Cjx0ZCBjbGFzcz0iVzM4Ij48L3RkPgo8dGQgY2xhc3M9IkFs -aWduSnVzdGlmeSIgY29sc3Bhbj0iNyI+CjxwIGNsYXNzPSJTY2hsdXNzdGVpbFpp -ZmYiPmIpIFNvbWF0aXNjaGUgWmVsbGVuIChwcm8gbWwpOiA8aW1nIGFsdD0iIiBz -cmM9Ii4vQmlsZGVyLURhdGVpZW4vQmlsZGVyLmltZzJpcy5naWYiPjwvaW1nPiA0 -MDAgMDAwLjwvcD4KPC90ZD4KPC90cj4KCQkJCQoJCQkJCTx0cj4KPHRkIGNsYXNz -PSJXMzggQWxpZ25SaWdodCBWQWxpZ25Ub3AiPgo8cCBjbGFzcz0iWmlmZmVyRTEi -PjIuPC9wPgo8L3RkPgo8dGQgY2xhc3M9IkFsaWduSnVzdGlmeSBFMVNwMiIgY29s -c3Bhbj0iNyI+CjxwIGNsYXNzPSJaaWZmZXJFMSI+Um9obWlsY2ggdm9uIGFuZGVy -ZW4gVGllcmFydGVuOiBLZWltemFobCBiZWkgMzDCsEMgKHBybyBtbCk6IDxpbWcg -YWx0PSIiIHNyYz0iLi9CaWxkZXItRGF0ZWllbi9CaWxkZXIuaW1nM2lzLmdpZiI+ -PC9pbWc+IDUwMCAwMDAuPC9wPgo8L3RkPgo8L3RyPgoJCQkJCgkJCTwvdGFibGU+ -CgkJCTxwIGNsYXNzPSJVZWJlcnNjaHJQYXJhIEFsaWduQ2VudGVyIj5QZXJzb25l -bmJlem9nZW5lIEJlemVpY2hudW5nZW48L3A+CgkJCTxwIGNsYXNzPSJBYnMgQWxp -Z25KdXN0aWZ5Ij4KCQkJCTxzcGFuIGNsYXNzPSJHbGRTeW1ib2wiPsKnwqA3Ljwv -c3Bhbj4gQmVpIGRlbiBpbiBkaWVzZXIgVmVyb3JkbnVuZyB2ZXJ3ZW5kZXRlbiBw -ZXJzb25lbmJlem9nZW5lbiBCZXplaWNobnVuZ2VuIGdpbHQgZGllIGdld8OkaGx0 -ZSBGb3JtIGbDvHIgYmVpZGUgR2VzY2hsZWNodGVyLjwvcD4KCQkJPHAgY2xhc3M9 -IlVlYmVyc2NoclBhcmEgQWxpZ25DZW50ZXIiPlNjaGx1c3NiZXN0aW1tdW5nPC9w -PgoJCQk8cCBjbGFzcz0iQWJzIEFsaWduSnVzdGlmeSI+CgkJCQk8c3BhbiBjbGFz -cz0iR2xkU3ltYm9sIj7Cp8KgOC48L3NwYW4+IERpZXNlIFZlcm9yZG51bmcgd3Vy -ZGUgdW50ZXIgRWluaGFsdHVuZyBkZXIgQmVzdGltbXVuZ2VuIGRlciBSaWNodGxp -bmllIDk4LzM0L0VHIMO8YmVyIGVpbiBJbmZvcm1hdGlvbnN2ZXJmYWhyZW4gYXVm -IGRlbSBHZWJpZXQgZGVyIE5vcm1lbiB1bmQgdGVjaG5pc2NoZW4gVm9yc2Nocmlm -dGVuLCBBQmwuIE5yLiBMIDIwNCB2b20gMjEuIEp1bGkgMTk5OCB1bmQgZGVzIEFy -dGlrZWxzIDEwIEFicy4gNSBkZXIgVmVyb3JkbnVuZyAoRUcpIE5yLiA4NTMvMjAw -NCBtaXQgc3BlemlmaXNjaGVuIEh5Z2llbmV2b3JzY2hyaWZ0ZW4gZsO8ciBMZWJl -bnNtaXR0ZWwgdGllcmlzY2hlbiBVcnNwcnVuZ3MsIEFCbC4gTnIuIEwgMTM5IHZv -bSAzMC4gQXByaWwgMjAwNCwgYmVyaWNodGlndCBkdXJjaCBBQmwuIE5yLiBMIDIy -NiB2b20gMjUuIEp1bmkgMjAwNCwgbm90aWZpemllcnQuPC9wPgoJCQk8cCBjbGFz -cz0iVW50ZXJzY2hyTCI+UmF1Y2gtS2FsbGF0PC9wPgoJCQoJCQkJPHAgY2xhc3M9 -IkZ1c3N6ZWlsZSBBbGlnbkp1c3RpZnkiPnd3dy5yaXMuYmthLmd2LmF0PC9wPgoJ -CQk8L2Rpdj4KCTwvYm9keT4KCQo8L2h0bWw+</sl11:Base64Content></sl11:HashInputData><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==</sl11:Base64Content></sl11:HashInputData><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==</sl11:Base64Content></sl11:HashInputData><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==</sl11:Base64Content></sl11:HashInputData><sl11:SignatureCheck><sl11:Code>0</sl11:Code></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl11:Code>98</sl11:Code></sl11:SignatureManifestCheck><sl11:SignatureManifestCheck><sl11:Code>0</sl11:Code></sl11:SignatureManifestCheck><sl11:CertificateCheck><sl10:Code>1</sl10:Code></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.iso8859.xml deleted file mode 100644 index 3cd93450a..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.iso8859.xml +++ /dev/null @@ -1,485 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sl11:VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>21221</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate><moa:PublicAuthority/></dsig:X509Data></sl11:SignerInfo><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVh -ZD4KPHRpdGxlPmVSZWNodCBEb2t1bWVudCAoMS45LjApPC90aXRsZT4KPHN0eWxl -IHR5cGU9InRleHQvY3NzIj4KICAgICAgICAuVzM4IHsgd2lkdGg6MzhweDsgfQog -ICAgICAgIC5XMTUgeyB3aWR0aDoxNXB4OyB9CiAgICAgICAgLlcyMiB7IHdpZHRo -OjIycHg7IH0KICAgICAgICAuVzkwIHsgd2lkdGg6OTBweDsgfQogICAgICAgIC53 -aTEwMCB7IHdpZHRoOjEwMCU7IH0KICAgICAgICAuV0VybCB7IHdpZHRoOjE1cHg7 -IH0KICAgICAgICAuRTFTcDIgeyB3aWR0aDo1NTcuM3B4OyB9CiAgICAgICAgLkUy -U3AyIHsgd2lkdGg6NTQyLjNweDsgfQogICAgICAgIC5FM1NwMiB7IHdpZHRoOjUy -MC4zcHg7IH0KICAgICAgICAuRTRTcDIgeyB3aWR0aDo0OTguMjk5OTk5OTk5OTk5 -OTVweDsgfQogICAgICAgIC5FNVNwMiB7IHdpZHRoOjQ3Ni4yOTk5OTk5OTk5OTk5 -NXB4OyB9CiAgICAgICAgLkVybFNwMiB7IHdpZHRoOjU3MC4zcHg7IH0KICAgICAg -ICAuRTFTcDJRIHsgd2lkdGg6ODAzLjlweDsgfQogICAgICAgIC5FMlNwMlEgeyB3 -aWR0aDo3ODguOXB4OyB9CiAgICAgICAgLkUzU3AyUSB7IHdpZHRoOjc2Ni45cHg7 -IH0KICAgICAgICAuRTRTcDJRIHsgd2lkdGg6NzQ0LjlweDsgfQogICAgICAgIC5F -NVNwMlEgeyB3aWR0aDo3MjIuOXB4OyB9CiAgICAgICAgLkVybFNwMlEgeyB3aWR0 -aDo4MTYuOXB4OyB9CiAgICAgICAgLkUxU3AyQiB7IHdpZHRoOjM3Ny4yOTk5OTk5 -OTk5OTk5NXB4OyB9CiAgICAgICAgLkUyU3AyQiB7IHdpZHRoOjM2Mi4yOTk5OTk5 -OTk5OTk5NXB4OyB9CiAgICAgICAgLkUzU3AyQiB7IHdpZHRoOjM0MC4yOTk5OTk5 -OTk5OTk5NXB4OyB9CiAgICAgICAgLkUxU3AyQlEgeyB3aWR0aDo2MjMuOXB4OyB9 -CiAgICAgICAgLkUyU3AyQlEgeyB3aWR0aDo2MDguOXB4OyB9CiAgICAgICAgLkUz -U3AyQlEgeyB3aWR0aDo1ODYuOXB4OyB9CiAgICAgICAgLlRleHRXaWR0aHsgd2lk -dGg6Mjk2LjI5OTk5OTk5OTk5OTk1cHg7IH0KICAgICAgICAuVGV4dFdpZHRoUXsg -d2lkdGg6NTQyLjlweDsgfQogICAgICAgIC5pbnZpc2libGV7IGhlaWdodDogMHB0 -IH0KCQkJCWludmlzaWJsZQoJCQkJCiAgICAgICAgLm5leHRwYWdlIHsgcGFnZS1i -cmVhay1iZWZvcmU6YWx3YXlzOyB9CiAgICAgICAgLm1hcmdpbnMge21hcmdpbi10 -b3A6ODUuMDVwdDttYXJnaW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1 -LjA1cHQ7bWFyZ2luLWxlZnQ6ODUuMDVwdDt9CiAgICAgICAgQG1lZGlhIHNjcmVl -biB7IC5wYXBlcncge3dpZHRoOjU5NS4zcHg7bWFyZ2luLXRvcDo4NS4wNXB0O21h -cmdpbi1yaWdodDo4NS4wNXB0O21hcmdpbi1ib3R0b206ODUuMDVwdDttYXJnaW4t -bGVmdDo4NS4wNXB0O319CiAgICAgICAgQG1lZGlhIHByaW50IHsgLnBhcGVydyB7 -d2lkdGg6NTk1LjNweDttYXJnaW4tdG9wOjAuMHB0O21hcmdpbi1yaWdodDowLjBw -dDttYXJnaW4tYm90dG9tOjAuMHB0O21hcmdpbi1sZWZ0OjAuMHB0O3NpemU6cG9y -dHJhaXQ7fX0KICAgICAgICBAbWVkaWEgc2NyZWVuIHsgLnBhcGVyaCB7d2lkdGg6 -ODQxLjlweDttYXJnaW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1 -cHQ7bWFyZ2luLWxlZnQ6ODUuMDVwdDttYXJnaW4tdG9wOjg1LjA1cHQ7fX0KICAg -ICAgICBAbWVkaWEgcHJpbnQgeyAucGFwZXJoIHt3aWR0aDo4NDEuOXB4O21hcmdp -bi10b3A6MC4wcHQ7bWFyZ2luLXJpZ2h0OjAuMHB0O21hcmdpbi1ib3R0b206MC4w -cHQ7bWFyZ2luLWxlZnQ6MC4wcHQ7c2l6ZTpsYW5kc2NhcGV9fQovKiBBbGxnZW1l -aW5lIEFuZ2FiZW4genVtIEFuemVpZ2VuIHZvbiBMaW5pZW4gaW4gVGFiZWxsZW4g -ICAgICAqLwovKgpAcGFnZSA6bGVmdCB7c2l6ZTogMjFjbSAyOS43Y207bWFyZ2lu -LWxlZnQ6IDJjbTttYXJnaW4tcmlnaHQ6IDJjbTttYXJrczpjcm9wO30KQHBhZ2Ug -OnJpZ2h0IHtzaXplOiAyMWNtIDI5LjdjbTttYXJnaW4tbGVmdDogMmNtO21hcmdp -bi1yaWdodDogMmNtO21hcmtzOmNyb3A7fQoqLwp0YWJsZS50b3Age2JvcmRlci10 -b3Atc3R5bGU6IHNvbGlkO2JvcmRlci10b3Atd2lkdGg6IHRoaW47Ym9yZGVyLWNv -bG9yOiBibGFjazt9CnRhYmxlLmJvdHRvbSB7Ym9yZGVyLWJvdHRvbS1zdHlsZTog -c29saWQ7Ym9yZGVyLWJvdHRvbS13aWR0aDogdGhpbjtib3JkZXItY29sb3I6IGJs -YWNrO30KdGQudG9wIHtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci10b3At -d2lkdGg6MXB0O30KdGQucmlnaHQge2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDti -b3JkZXItcmlnaHQtd2lkdGg6MXB0O30KdGQuYm90dG9tIHtib3JkZXItYm90dG9t -LXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20td2lkdGg6MXB0O30KdGQubGVmdCB7 -Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtd2lkdGg6MXB0O30K -LypUZXh0IGlubmVyaGFsYiBlaW5lciBUYWJlbGxlbnplbGxlIGZ1ZXIgImFic2F0 -eiIgdW5kICJ1ZWJlcnNjaHJpZnQiKi8KLkFsaWduTGVmdCB7dGV4dC1hbGlnbjps -ZWZ0O30KLkFsaWduUmlnaHQge3RleHQtYWxpZ246cmlnaHQ7fQouQWxpZ25DZW50 -ZXIge3RleHQtYWxpZ246Y2VudGVyO30KLkFsaWduSnVzdGlmeSB7dGV4dC1hbGln -bjpqdXN0aWZ5O30KLlZBbGlnblRvcCB7dmVydGljYWwtYWxpZ246dG9wO30KLlZB -bGlnbkJvdHRvbSB7dmVydGljYWwtYWxpZ246Ym90dG9tO30KLyoqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKi8KLyogTGVnaXN0aWstU3RhbmRhcmQtRm9ybWF0dm9ybGFnZSAgICAgICAg -ICAgICAgICAgICAgICAgICAgICAgKi8KLyogRm9ybWF0dm9ybGFnZTogMDBfTGVn -U3RhbmRhcmQgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLkxlZ1N0YW5kYXJkIHsKdGV4 -dC1hbGlnbjpqdXN0aWZ5Oy8qT0sqLwpsaW5lLWhlaWdodDoxMS4wcHQ7CmZvbnQt -c2l6ZToxMC4wcHQ7CmZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyoq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZW4gZnVlciBBYnNhZXR6ZSAg -ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -Ki8KLyogRm9ybWF0dm9ybGFnZTogMDFfVW5kZWZpbmllcnQgKi8KcC5VbmRlZmlu -aWVydCB7bWFyZ2luLXRvcDoxLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmp1c3RpZnk7LypP -SyovbGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6IHJlZDt9Ci8qIEZvcm1hdHZvcmxh -Z2U6IDAyX0JER2VzQmxhdHQgKi8KcC5CREdlc0JsYXR0IHttYXJnaW4tdG9wOjE0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MzUuMHB0 -O2ZvbnQtc2l6ZTozNS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7 -Y29sb3I6YmxhY2s7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFj -aW5nOjEuM3B0O2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiAw -M19SZXBPZXN0ZXJyICovCnAuUmVwT2VzdGVyciB7bWFyZ2luLXRvcDo2LjBwdDtt -YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBj -bTttYXJnaW4tYm90dG9tOjEyLjBwdDsvKnRleHQtYWxpZ246Y2VudGVyOyovbGlu -ZS1oZWlnaHQ6MjAuMHB0O2JvcmRlcjpub25lO3BhZGRpbmc6MGNtO2ZvbnQtc2l6 -ZToyMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6Ymxh -Y2s7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjEuMHB0 -O2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiAwNF9BdXNnYWJl -RGF0ZW4gKi8KcC5BdXNnYWJlRGF0ZW4ge21hcmdpbi10b3A6MGNtO21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO2xpbmUt -aGVpZ2h0OjE0LjBwdDtwYWRkaW5nOjBjbTtmb250LXNpemU6MTIuMHB0O2ZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOiBibGFjaztmb250LXdlaWdo -dDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogMDVfS3VyenRpdGVsCkt1cnp0aXRl -bCBpbiBlaW5lciBTcGFsdGUgKHdlbm4ga2VpbiBUQUIgdm9yaGFuZGVuIGlzdCkg -Ki8KcC5LdXJ6dGl0ZWwxIHttYXJnaW4tdG9wOjIuMHB0O21hcmdpbi1yaWdodDog -MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OiAzLjZjbTsvKnRleHQt -YWxpZ246anVzdGlmeTsqL3RleHQtaW5kZW50OiAtMy42Y207Ym9yZGVyOm5vbmU7 -cGFkZGluZzowY207Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyogS3Vy -enRpdGVsIGluIHp3ZWkgU3BhbHRlbiAod2VubiBlaW4gVEFCIHZvcmhhbmRlbiBp -c3QpICovCnAuS3VyenRpdGVsMiB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmln -aHQ6IDBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDogMGNtOy8qdGV4 -dC1hbGlnbjpqdXN0aWZ5OyovYm9yZGVyOm5vbmU7cGFkZGluZzowY207Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpi -bGFjaztmb250LXdlaWdodDpib2xkO30Kc3Bhbi5LdXJ6dGl0ZWxicmVpdGUge3dp -ZHRoOiAzLjRjbTt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDA5X0Fic3RhbmQgKi8KcC5B -YnN0YW5kIHttYXJnaW46Ni4wcHQ7bWFyZ2luLWJvdHRvbTo2LjBwdDtsaW5lLWhl -aWdodDoxMC4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDEwX0Vu -dHd1cmYgKi8KcC5FbnR3dXJmIHttYXJnaW4tdG9wOjgwLjBwdDttYXJnaW4tcmln -aHQ6MGNtO21hcmdpbi1ib3R0b206NjQuMHB0O21hcmdpbi1sZWZ0OjBjbTsvKnRl -eHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZTox -MC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGV0dGVyLXNwYWNp -bmc6MS4zcHQ7fQovKiBGb3JtYXR2b3JsYWdlOiAxMV9UaXRlbCAqLwpwLlRpdGVs -IHttYXJnaW4tdG9wOjI0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0 -b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xp -bmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3Js -YWdlOiAxMl9Qcm9tS2xfRWlubFNhdHogKi8JCnAuUHJvbUtsRWlubFNhdHoge21h -cmdpbi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBj -bTttYXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOmp1c3RpZnk7Ki90ZXh0LWlu -ZGVudDoxOS44NXB0O2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVy -OmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiAxOF9BYmJpbGR1bmdfb2Rlcl9PYmpl -a3QgKi8KcC5BYmJpbGR1bmdvZGVyT2JqZWt0IHttYXJnaW4tdG9wOjYuMHB0O21h -cmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo2LjBwdDttYXJnaW4tbGVmdDow -Y207Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu -Ijtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDE5X0Jlc2NocmlmdHVu -ZyAqLwpwLkJlc2NocmlmdHVuZyB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjYuMHB0O21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDIxX05v -dkFvMSAqLwpwLk5vdkFvMSB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6 -MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxp -Z246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVy -OmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7Zm9udC1zdHlsZTppdGFsaWM7fQovKiBGb3JtYXR2b3JsYWdlOiAyMl9O -b3ZBbzEgKi8KcC5Ob3ZBbzIge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0ZXh0LWFs -aWduOmp1c3RpZnk7Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBw -dDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250LXN0eWxlOml0YWxp -Yzt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDIzX1NhdHpfKG5hY2hfTm92YW8pICovCnAu -U2F0em5hY2hOb3ZhbyB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNt -O21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246 -anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30KLyogRm9y -bWF0dm9ybGFnZTogMzBfSW5oYWx0VWViZXJzY2hyaWZ0ICovCnAuSW5oYWx0VWVi -ZXJzY2hyaWZ0IHttYXJnaW4tdG9wOjE2LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21h -cmdpbi1ib3R0b206OC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246Y2Vu -dGVyO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3Jt -YXR2b3JsYWdlOiAzMV9JbmhhbHRTcGFsdGUgKi8KcC5JbmhhbHRTcGFsdGUge21h -cmdpbi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjQu -MHB0O21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVh -ay1hZnRlcjphdm9pZDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdl -OiAzMl9JbmhhbHRFaW50cmFnICovCnAuSW5oYWx0RWludHJhZyB7bWFyZ2luLXRv -cDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4t -bGVmdDowY207bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9u -dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA0 -MV9VZWJlcnNjaHJHMSAqLwpwLlVlYmVyc2NockcxIHttYXJnaW4tdG9wOjE2LjBw -dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0 -OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O3Bh -Z2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xk -O30KLyogRm9ybWF0dm9ybGFnZTogNDJfVWViZXJzY2hyRzEtICovCnAuVWViZXJz -Y2hyRzEtIHttYXJnaW4tdG9wOjguMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2lu -LWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50ZXI7 -Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZDtmb250 -LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9y -OmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA0M19V -ZWJlcnNjaHJHMiAqLwpwLlVlYmVyc2NockcyIHttYXJnaW4tdG9wOjQuMHB0O21h -cmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo0LjBwdDttYXJnaW4tbGVmdDow -Y207Lyp0ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdl -LWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDQ0X1VlYmVyc2NockFydCAqLwpwLlVlYmVyc2No -ckFydCB7bWFyZ2luLXRvcDo4LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyov -bGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpi -bGFjaztmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogNDVfVWVi -ZXJzY2hyUGFyYSAqLwpwLlVlYmVyc2NoclBhcmEge21hcmdpbi10b3A6NC4wcHQ7 -bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDow -Y207Lyp0ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdl -LWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDUxX0FicyAqLwpwLkFicyB7bWFyZ2luLXRvcDo0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL3RleHQtaW5kZW50OjE5Ljg1 -cHQ7LypsaW5lLWhlaWdodDoxMS4wcHQ7Ki9mb250LXNpemU6MTAuMHB0O2ZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFnZTogNTJf -WmlmZmVyX2UxIC0gZTMgKi8KcC5aaWZmZXJFMSwgcC5aaWZmZXJFMiwgcC5aaWZm -ZXJFMyB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9u -dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8q -IEZvcm1hdHZvcmxhZ2U6IDUyX1ppZmZlcl9taXRfQmV0cmFnICovCnAuWmlmZmVy -TWl0QmV0cmFnIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdp -bi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7 -cHVuY3R1YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRvc3BhY2U6bm9uZTtmb250 -LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyog -Rm9ybWF0dm9ybGFnZTogNTJhVF9aaWZmZXJfbWl0X0JldHJhZ19UR1VFICovCnAu -WmlmZmVyTWl0QmV0cmFnVEdVRSB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWln -aHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2ltcGxlO3RleHQtYXV0b3NwYWNl -Om5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDUzX0xpdGVyYV9lMSAtIGUzICovCnAu -TGl0ZXJhRTEsIHAuTGl0ZXJhRTIsIHAuTGl0ZXJhRTMge21hcmdpbi10b3A6Mi4w -cHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVm -dDowY207bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1M19M -aXRlcmFfbWl0X0JldHJhZyAqLwpwLkxpdGVyYU1pdEJldHJhZyB7bWFyZ2luLXRv -cDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4t -bGVmdDowY207bGluZS1oZWlnaHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2lt -cGxlO3RleHQtYXV0b3NwYWNlOm5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDUzYVRf -TGl0ZXJhX21pdF9CZXRyYWdfVEdVRSAqLwpwLkxpdGVyYU1pdEJldHJhZ1RHVUUg -e21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTow -Y207bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlv -bi13cmFwOnNpbXBsZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4w -cHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3Js -YWdlOiA1NF9TdWJsaXRlcmFfZTEgLSBlMyAqLwpwLlN1YmxpdGVyYUUxLCBwLlN1 -YmxpdGVyYUUyLCBwLlN1YmxpdGVyYUUzIHttYXJnaW4tdG9wOjIuMHB0O21hcmdp -bi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO2xp -bmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFnZTogNTRfU3VibGl0ZXJh -X21pdF9CZXRyYWcgKi8KcC5TdWJsaXRlcmFNaXRCZXRyYWcge21hcmdpbi10b3A6 -MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxl -ZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlvbi13cmFwOnNpbXBs -ZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NGFUX1N1 -YmxpdGVyYV9taXRfQmV0cmFnX1RHVUUgKi8KcC5TdWJsaXRlcmFNaXRCZXRyYWdU -R1VFIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0 -b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7cHVuY3R1 -YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRvc3BhY2U6bm9uZTtmb250LXNpemU6 -MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0 -dm9ybGFnZTogNTRhX1N0cmljaF9lMSAtIGU3ICovCnAuU3RyaWNoRTEsIHAuU3Ry -aWNoRTIsIHAuU3RyaWNoRTMsIHAuU3RyaWNoRTQsIHAuU3RyaWNoRTUsIHAuU3Ry -aWNoRTYsIHAuU3RyaWNoRTcge21hcmdpbi10b3A6Mi4wcHQ7bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NV9TY2hsdXNzdGVpbEFicywg -NTZfU2NobHVzc3RlaWxaaWZmLCA1N19TY2hsdXNzdGVpbExpdCovCnAuU2NobHVz -c3RlaWxBYnMsIHAuU2NobHVzc3RlaWxaaWZmLCBwLlNjaGx1c3N0ZWlsTGl0IHtt -YXJnaW46MGNtOyBsaW5lLWhlaWdodDoxMS4wcHQ7IGZvbnQtc2l6ZToxMC4wcHQ7 -IGZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFn -ZTogNjFfVGFiVGV4dCAqLwpwLlRhYlRleHQge21hcmdpbjowY207bGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiA2MWFfVGFi -VGV4dFJlY2h0c2IgKi8KcC5UYWJUZXh0UmVjaHRzYiB7bWFyZ2luOjBjbTt0ZXh0 -LWFsaWduOnJpZ2h0O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0 -O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30KLyog -Rm9ybWF0dm9ybGFnZTogNjFiX1RhYlRleHRaZW50cmllcnQgKi8KcC5UYWJUZXh0 -WmVudHJpZXJ0IHttYXJnaW46MGNtO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVp -Z2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30KLyogRm9ybWF0dm9ybGFnZTogNjFjX1Rh -YlRleHRCbG9jayAqLwpwLlRhYlRleHRCbG9jayB7bWFyZ2luOjBjbTt0ZXh0LWFs -aWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBG -b3JtYXR2b3JsYWdlOiA2Ml9Lb3BmemVpbGUgKi8KcC5Lb3BmemVpbGUge21hcmdp -bi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTtt -YXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOmp1c3RpZnk7Ki9saW5lLWhlaWdo -dDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjtjb2xvcjogI0MwQzBDMDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDYzX0Z1 -w596ZWlsZSAqLwpwLkZ1c3N6ZWlsZSB7bWFyZ2luLXRvcDoxMC4wcHQ7bWFyZ2lu -LXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0 -ZXh0LWFsaWduOmp1c3RpZnk7Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXpl -OjkuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOiAjQzBD -MEMwO30KLyogRm9ybWF0dm9ybGFnZTogNjRfRk5fTGluaWUgKi8KcC5GTkxpbmll -IHttYXJnaW4tdG9wOjExLjBwdDttYXJnaW4tcmlnaHQ6MTMuMGNtO21hcmdpbi1i -b3R0b206MS4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtw -YWRkaW5nOjBjbTtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlk -O2JvcmRlci1ib3R0b20tY29sb3I6IEdyYXk7Ym9yZGVyLWJvdHRvbS13aWR0aDog -MXB4O30KLyogRm9ybWF0dm9ybGFnZTogNjVfRk5fVGV4dCAqLwpwLkZOVGV4dCB7 -bWFyZ2luOjBjbTt0ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0 -O2ZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtj -b2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDY2X0ZOX1plaWNoZW4gKi8K -c3Bhbi5GTlplaWNoZW4ge3ZlcnRpY2FsLWFsaWduOnN1cGVyOyBMQVlPVVQtR1JJ -RC1NT0RFOiBsaW5lO30KLyogRm9ybWF0dm9ybGFnZTogNjhfVW50ZXJzY2hyTCAq -LwpwLlVudGVyc2Nockwge21hcmdpbi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207dGV4dC1hbGlnbjps -ZWZ0O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJv -bGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA2OV9VbnRlcnNjaHJNICovCnAuVW50ZXJz -Y2hyTSB7bWFyZ2luLXRvcDo4LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmNlbnRlcjtsaW5l -LWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyog -Rm9ybWF0dm9ybGFnZTogNzFfQW5sYWdlbmJleiAqLwpwLkFubGFnZW5iZXoge21h -cmdpbi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBj -bTttYXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOnJpZ2h0OyovbGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1h -dHZvcmxhZ2U6IDgxX0VybFVlYmVyc2NoclogKi8KcC5FcmxVZWJlcnNjaHJaIHtt -YXJnaW4tdG9wOjE2LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206 -MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1o -ZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1zaXplOjEx -LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztm -b250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogODJfRXJsVWViZXJz -Y2hyTCAqLwpwLkVybFVlYmVyc2Nockwge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2lu -LXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0 -ZXh0LWFsaWduOmp1c3RpZnk7Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVh -ay1hZnRlcjphdm9pZDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBG -b3JtYXR2b3JsYWdlOiA4M19FcmxUZXh0ICovCnAuRXJsVGV4dCB7bWFyZ2luLXRv -cDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdp -bi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjEx -LjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t -YW4iO30KLyogRm9ybWF0dm9ybGFnZTogODVfRXJsQXVmemFlaGxnIC0gbm9jaCBu -aWNodCBmZXJ0aWcgKi8KcC5FcmxBdWZ6YWVobGcge21hcmdpbi10b3A6NC4wcHQ7 -bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDow -Y207dGV4dC1hbGlnbjpqdXN0aWZ5O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNp -emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJs -YWNrO30KLyogRm9ybWF0dm9ybGFnZTogODlfVEdVRV9VZWJlcnNjaHJTcGFsdGUq -LwpwLlRHVUVVZWJlcnNjaHJTcGFsdGUge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2lu -LXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0 -ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFr -LWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKiovCi8qIEZvcm1hdHZvcmxhZ2VuIGZ1ZXIgWmVpY2hlbmZvcm1h -dGllcnVuZyAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov -Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5MF9GZWhsZXIgKi8Kc3Bhbi5GZWhsZXIge2Nv -bG9yOiByZWQ7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTFfR2xkU3ltYm9sICovCnNw -YW4uR2xkU3ltYm9sIHtmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFn -ZTogOTkyX05vcm1hbCAqLwpzcGFuLk5vcm1hbCB7Zm9udC1zdHlsZTogbm9ybWFs -O30KLyogRm9ybWF0dm9ybGFnZTogOTkzX0ZldHQgKi8Kc3Bhbi5GZXR0IHtmb250 -LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogOTk0X0t1cnNpdiAqLwpz -cGFuLkt1cnNpdiB7Zm9udC1zdHlsZTppdGFsaWM7fQovKiBGb3JtYXR2b3JsYWdl -OiA5OTVfVW50ZXJzdHJpY2hlbiAqLwpzcGFuLlVudGVyc3RyaWNoZW4ge3RleHQt -ZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTZfR2Vz -cGVycnQgKi8Kc3Bhbi5HZXNwZXJydCB7bGV0dGVyLXNwYWNpbmc6MS4zcHQ7fQov -KiBGb3JtYXR2b3JsYWdlOiA5OTdfSG9jaCAqLwpzcGFuLkhvY2gge2xpbmUtaGVp -Z2h0OiA2MCU7IGZvbnQtc2l6ZTogNjAlOyB2ZXJ0aWNhbC1hbGlnbjpzdXBlcjt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5OF9UaWVmICovCnNwYW4uVGllZiB7bGluZS1o -ZWlnaHQ6IDYwJTsgZm9udC1zaXplOiA2MCU7IHZlcnRpY2FsLWFsaWduOnN1Yjt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5OV9GZXR0X3VuZF9LdXJzaXYgKi8Kc3Bhbi5G -ZXR0dW5kS3Vyc2l2IHtmb250LXdlaWdodDpib2xkOyBmb250LXN0eWxlOml0YWxp -Yzt9Ci8qIFN0YW5kYXJkdGFic2Nocml0dHdlaXRlIGF1cyBXb3JkICovCnNwYW4u -U3RhbmRhcmR0YWJ1bGF0b3Ige3dpZHRoOjM1LjQ1cHQ7fQovKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqLwovKiBGb3JtYXR2b3JsYWdlbiBkZXIgUGFybGFtZW50c2RpcmVrdGlvbiAg -ICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwLlBEQWxs -b25nZSwgbGkuUERBbGxvbmdlLCBkaXYuUERBbGxvbmdlIHttYXJnaW4tdG9wOjE0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0O21hcmdp -bi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTQuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91dC1ncmlkLW1vZGU6bGlu -ZTt9CnAuUERBbGxvbmdlQiwgbGkuUERBbGxvbmdlQiwgZGl2LlBEQWxsb25nZUIg -e21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bToxMC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtmb250 -LXNpemU6MTQuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91 -dC1ncmlkLW1vZGU6bGluZTt9CnAuUERBbGxvbmdlTCwgbGkuUERBbGxvbmdlTCwg -ZGl2LlBEQWxsb25nZUwge21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDow -Y207bWFyZ2luLWJvdHRvbToxMC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6 -ZToxNC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdy -aWQtbW9kZTpsaW5lO30KcC5QREFudHJhZ3Nmb3JtZWwsIGxpLlBEQW50cmFnc2Zv -cm1lbCwgZGl2LlBEQW50cmFnc2Zvcm1lbCB7bWFyZ2luLXRvcDoxNC4wcHQ7bWFy -Z2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207 -dGV4dC1hbGlnbjpqdXN0aWZ5O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6 -MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91dC1ncmlk -LW1vZGU6bGluZTt9CnAuUEREYXR1bSwgbGkuUEREYXR1bSwgZGl2LlBERGF0dW0g -e21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBERW50c2NobGll -c3N1bmcsIGxpLlBERW50c2NobGllc3N1bmcsIGRpdi5QREVudHNjaGxpZXNzdW5n -IHttYXJnaW4tdG9wOjguMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNp -emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91dC1n -cmlkLW1vZGU6bGluZTtmb250LXdlaWdodDpib2xkO30KcC5QREsxLCBsaS5QREsx -LCBkaXYuUERLMSB7bWFyZ2luOjBjbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6 -bm9uZTtwYWRkaW5nOjBjbTtmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO2xldHRlci1zcGFjaW5nOi0uNHB0O2ZvbnQtd2VpZ2h0 -OmJvbGQ7fQpwLlBESzFBbmxhZ2UsIGxpLlBESzFBbmxhZ2UsIGRpdi5QREsxQW5s -YWdlIHttYXJnaW46MGNtO3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOjEyLjBw -dDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtsZXR0ZXItc3BhY2luZzot -LjRwdDtmb250LXdlaWdodDpib2xkO30KcC5QREsxQXVzZywgbGkuUERLMUF1c2cs -IGRpdi5QREsxQXVzZyB7bWFyZ2luLXRvcDo2Mi45cHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjI3LjBwdDttYXJnaW4tbGVmdDowY207Zm9udC1zaXpl -OjExLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250LXdlaWdo -dDpib2xkO30KcC5QREsyLCBsaS5QREsyLCBkaXYuUERLMiB7bWFyZ2luLXRvcDow -Y207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjExLjM1cHQ7bWFyZ2lu -LWxlZnQ6MGNtO2ZvbnQtc2l6ZToyMi4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERLMywgbGkuUERLMywgZGl2 -LlBESzMge21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbToyMC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6ZToxOC4wcHQ7Zm9u -dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAu -UERLNCwgbGkuUERLNCwgZGl2LlBESzQge21hcmdpbi10b3A6MGNtO21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTo2LjBwdDttYXJnaW4tbGVmdDowY207Zm9u -dC1zaXplOjEzLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250 -LXdlaWdodDpib2xkO30KcC5QREtvcGZ6ZWlsZSwgbGkuUERLb3BmemVpbGUsIGRp -di5QREtvcGZ6ZWlsZSB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNt -O21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmp1 -c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdyaWQtbW9kZTpsaW5lO30K -cC5QRFUxLCBsaS5QRFUxLCBkaXYuUERVMSB7bWFyZ2luLXRvcDoyMi4wcHQ7bWFy -Z2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207 -bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERVMiwgbGku -UERVMiwgZGl2LlBEVTIge21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6 -MTEuMHB0O2ZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjt9CnAuUERWb3JsYWdlLCBsaS5QRFZvcmxhZ2UsIGRpdi5QRFZvcmxhZ2Ug -e21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTox -MC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7Zm9udC13ZWlnaHQ6Ym9s -ZDt9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxkaXYgY2xhc3M9InBhcGVydyI+ -CgoKCgo8cCBjbGFzcz0iQkRHZXNCbGF0dCBBbGlnbkNlbnRlciI+QlVOREVTR0VT -RVRaQkxBVFQ8L3A+CjxwIGNsYXNzPSJSZXBPZXN0ZXJyIEFsaWduQ2VudGVyIj5G -w5xSIERJRSBSRVBVQkxJSyDDllNURVJSRUlDSDwvcD4KPHRhYmxlIGNsYXNzPSJ0 -b3AgYm90dG9tIHdpMTAwIj4KPHRyPgo8dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0 -ZW4gQWxpZ25MZWZ0Ij5KYWhyZ2FuZyAyMDA2PC9wPgo8L3RkPgo8dGQ+CjxwIGNs -YXNzPSJBdXNnYWJlRGF0ZW4gQWxpZ25DZW50ZXIiPkF1c2dlZ2ViZW4gYW0gMzAu -IE1haSAyMDA2PC9wPgo8L3RkPgo8dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0ZW4g -QWxpZ25SaWdodCI+VGVpbMKgSUk8L3A+CjwvdGQ+CjwvdHI+CjwvdGFibGU+Cjx0 -YWJsZSBjbGFzcz0iYm90dG9tIHdpMTAwIj4KPHRyPgo8dGQgY29sc3Bhbj0iMiI+ -CjxwIGNsYXNzPSJLdXJ6dGl0ZWwxIEFsaWduTGVmdCBWQWxpZ25Ub3AiPjIwNC4g -VmVyb3JkbnVuZzogw4RuZGVydW5nIGRlciBTY2hpZmZzdGVjaG5pa3Zlcm9yZG51 -bmc8L3A+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxwIGNsYXNzPSJUaXRlbCBBbGln -bkp1c3RpZnkiPjIwNC4gVmVyb3JkbnVuZyBkZXMgQnVuZGVzbWluaXN0ZXJzIGbD -vHIgVmVya2VociwgSW5ub3ZhdGlvbiB1bmQgVGVjaG5vbG9naWUsIG1pdCBkZXIg -ZGllIFNjaGlmZnN0ZWNobmlrdmVyb3JkbnVuZyBnZcOkbmRlcnQgd2lyZDwvcD4K -PHAgY2xhc3M9IlByb21LbEVpbmxTYXR6IEFsaWduSnVzdGlmeSI+QXVmIEdydW5k -IGRlcyDCp8KgMTA5IEFicy7CoDcgZGVzIFNjaGlmZmZhaHJ0c2dlc2V0emVzLCBC -R0JsLsKgSSBOci7CoDYyLzE5OTcgaW4gZGVyIEZhc3N1bmcgQkdCbC7CoEkgTnIu -wqAxMjMvMjAwNSwgd2lyZCB2ZXJvcmRuZXQ6PC9wPgo8cCBjbGFzcz0iTm92QW8x -IEFsaWduSnVzdGlmeSI+RGVtIMKnwqAyNiBkZXIgU2NoaWZmc3RlY2huaWt2ZXJv -cmRudW5nLCBCR0JsLiBOci7CoDQ1MC8xOTkzLCB6dWxldHp0IGdlw6RuZGVydCBk -dXJjaCBCR0JsLsKgSUkgTnIuwqAxOTYvMTk5Nywgd2VyZGVuIGZvbGdlbmRlIEFi -c8OkdHplIDggdW5kIDkgYW5nZWbDvGd0OjwvcD4KPHAgY2xhc3M9IkFicyBBbGln -bkp1c3RpZnkiPgrigJ4oOCkgTW90b3JlbiBkZXIgS2F0ZWdvcmllbiBWIDE6MSwg -ViAxOjIgdW5kIFYgMTozIGdlbcOkw58gVmVyb3JkbnVuZyBkZXMgQnVuZGVzbWlu -aXN0ZXJzIGbDvHIgV2lydHNjaGFmdCB1bmQgQXJiZWl0IMO8YmVyIE1hw59uYWht -ZW4genVyIEJla8OkbXBmdW5nIGRlciBFbWlzc2lvbiB2b24gZ2FzZsO2cm1pZ2Vu -IFNjaGFkc3RvZmZlbiB1bmQgbHVmdHZlcnVucmVpbmlnZW5kZW4gUGFydGlrZWxu -IGF1cyBWZXJicmVubnVuZ3Ntb3RvcmVuIGbDvHIgbW9iaWxlIE1hc2NoaW5lbiB1 -bmQgR2Vyw6R0ZSwgQkdCbC7CoElJIE5yLsKgMTM2LzIwMDUsIGTDvHJmZW4gbmFj -aCBkZW0gMzEuwqBEZXplbWJlciAyMDA2IG51ciBhbHMgSGF1cHQtIG9kZXIgSGls -ZnNtYXNjaGluZW4gaW4gRmFocnpldWdlLCBhdXNnZW5vbW1lbiBLbGVpbmZhaHJ6 -ZXVnZSwgZWluZ2ViYXV0IHdlcmRlbiwgd2VubiBzaWUgw7xiZXIgZWluZSBUeXBn -ZW5laG1pZ3VuZyBnZW3DpMOfIMKnwqAxMCBBYnNhdHogM2UgZGllc2VyIFZlcm9y -ZG51bmcgdmVyZsO8Z2VuLjwvcD4KPHAgY2xhc3M9IkFicyBBbGlnbkp1c3RpZnki -Pig5KSBNb3RvcmVuIGRlciBLYXRlZ29yaWVuIFYgMTo0IHVuZCBWIDIgZ2Vtw6TD -nyBWZXJvcmRudW5nIGRlcyBCdW5kZXNtaW5pc3RlcnMgZsO8ciBXaXJ0c2NoYWZ0 -IHVuZCBBcmJlaXQgw7xiZXIgTWHDn25haG1lbiB6dXIgQmVrw6RtcGZ1bmcgZGVy -IEVtaXNzaW9uIHZvbiBnYXNmw7ZybWlnZW4gU2NoYWRzdG9mZmVuIHVuZCBsdWZ0 -dmVydW5yZWluaWdlbmRlbiBQYXJ0aWtlbG4gYXVzIFZlcmJyZW5udW5nc21vdG9y -ZW4gZsO8ciBtb2JpbGUgTWFzY2hpbmVuIHVuZCBHZXLDpHRlLCBCR0JsLsKgSUkg -TnIuwqAxMzYvMjAwNSwgZMO8cmZlbiBuYWNoIGRlbSAzMS7CoERlemVtYmVyIDIw -MDggbnVyIGFscyBIYXVwdC0gb2RlciBIaWxmc21hc2NoaW5lbiBpbiBGYWhyemV1 -Z2UsIGF1c2dlbm9tbWVuIEtsZWluZmFocnpldWdlLCBlaW5nZWJhdXQgd2VyZGVu -LCB3ZW5uIHNpZSDDvGJlciBlaW5lIFR5cGdlbmVobWlndW5nIGdlbcOkw58gwqfC -oDEwIEFic2F0eiAzZSBkaWVzZXIgVmVyb3JkbnVuZyB2ZXJmw7xnZW4u4oCcCjwv -cD4KPHAgY2xhc3M9IlVudGVyc2NockwiPkdvcmJhY2g8L3A+Cgo8cCBjbGFzcz0i -RnVzc3plaWxlIEFsaWduSnVzdGlmeSI+d3d3LnJpcy5ia2EuZ3YuYXQ8L3A+Cjwv -ZGl2Pgo8L2JvZHk+Cgo8L2h0bWw+</sl11:Base64Content></sl11:HashInputData><sl11:SignatureCheck><sl11:Code>0</sl11:Code></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl11:Code>98</sl11:Code></sl11:SignatureManifestCheck><sl11:SignatureManifestCheck><sl11:Code>0</sl11:Code></sl11:SignatureManifestCheck><sl11:CertificateCheck><sl10:Code>1</sl10:Code></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.utf8.xml b/spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.utf8.xml deleted file mode 100644 index 3cd93450a..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.utf8.xml +++ /dev/null @@ -1,485 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sl11:VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>21221</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate><moa:PublicAuthority/></dsig:X509Data></sl11:SignerInfo><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVh -ZD4KPHRpdGxlPmVSZWNodCBEb2t1bWVudCAoMS45LjApPC90aXRsZT4KPHN0eWxl -IHR5cGU9InRleHQvY3NzIj4KICAgICAgICAuVzM4IHsgd2lkdGg6MzhweDsgfQog -ICAgICAgIC5XMTUgeyB3aWR0aDoxNXB4OyB9CiAgICAgICAgLlcyMiB7IHdpZHRo -OjIycHg7IH0KICAgICAgICAuVzkwIHsgd2lkdGg6OTBweDsgfQogICAgICAgIC53 -aTEwMCB7IHdpZHRoOjEwMCU7IH0KICAgICAgICAuV0VybCB7IHdpZHRoOjE1cHg7 -IH0KICAgICAgICAuRTFTcDIgeyB3aWR0aDo1NTcuM3B4OyB9CiAgICAgICAgLkUy -U3AyIHsgd2lkdGg6NTQyLjNweDsgfQogICAgICAgIC5FM1NwMiB7IHdpZHRoOjUy -MC4zcHg7IH0KICAgICAgICAuRTRTcDIgeyB3aWR0aDo0OTguMjk5OTk5OTk5OTk5 -OTVweDsgfQogICAgICAgIC5FNVNwMiB7IHdpZHRoOjQ3Ni4yOTk5OTk5OTk5OTk5 -NXB4OyB9CiAgICAgICAgLkVybFNwMiB7IHdpZHRoOjU3MC4zcHg7IH0KICAgICAg -ICAuRTFTcDJRIHsgd2lkdGg6ODAzLjlweDsgfQogICAgICAgIC5FMlNwMlEgeyB3 -aWR0aDo3ODguOXB4OyB9CiAgICAgICAgLkUzU3AyUSB7IHdpZHRoOjc2Ni45cHg7 -IH0KICAgICAgICAuRTRTcDJRIHsgd2lkdGg6NzQ0LjlweDsgfQogICAgICAgIC5F -NVNwMlEgeyB3aWR0aDo3MjIuOXB4OyB9CiAgICAgICAgLkVybFNwMlEgeyB3aWR0 -aDo4MTYuOXB4OyB9CiAgICAgICAgLkUxU3AyQiB7IHdpZHRoOjM3Ny4yOTk5OTk5 -OTk5OTk5NXB4OyB9CiAgICAgICAgLkUyU3AyQiB7IHdpZHRoOjM2Mi4yOTk5OTk5 -OTk5OTk5NXB4OyB9CiAgICAgICAgLkUzU3AyQiB7IHdpZHRoOjM0MC4yOTk5OTk5 -OTk5OTk5NXB4OyB9CiAgICAgICAgLkUxU3AyQlEgeyB3aWR0aDo2MjMuOXB4OyB9 -CiAgICAgICAgLkUyU3AyQlEgeyB3aWR0aDo2MDguOXB4OyB9CiAgICAgICAgLkUz -U3AyQlEgeyB3aWR0aDo1ODYuOXB4OyB9CiAgICAgICAgLlRleHRXaWR0aHsgd2lk -dGg6Mjk2LjI5OTk5OTk5OTk5OTk1cHg7IH0KICAgICAgICAuVGV4dFdpZHRoUXsg -d2lkdGg6NTQyLjlweDsgfQogICAgICAgIC5pbnZpc2libGV7IGhlaWdodDogMHB0 -IH0KCQkJCWludmlzaWJsZQoJCQkJCiAgICAgICAgLm5leHRwYWdlIHsgcGFnZS1i -cmVhay1iZWZvcmU6YWx3YXlzOyB9CiAgICAgICAgLm1hcmdpbnMge21hcmdpbi10 -b3A6ODUuMDVwdDttYXJnaW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1 -LjA1cHQ7bWFyZ2luLWxlZnQ6ODUuMDVwdDt9CiAgICAgICAgQG1lZGlhIHNjcmVl -biB7IC5wYXBlcncge3dpZHRoOjU5NS4zcHg7bWFyZ2luLXRvcDo4NS4wNXB0O21h -cmdpbi1yaWdodDo4NS4wNXB0O21hcmdpbi1ib3R0b206ODUuMDVwdDttYXJnaW4t -bGVmdDo4NS4wNXB0O319CiAgICAgICAgQG1lZGlhIHByaW50IHsgLnBhcGVydyB7 -d2lkdGg6NTk1LjNweDttYXJnaW4tdG9wOjAuMHB0O21hcmdpbi1yaWdodDowLjBw -dDttYXJnaW4tYm90dG9tOjAuMHB0O21hcmdpbi1sZWZ0OjAuMHB0O3NpemU6cG9y -dHJhaXQ7fX0KICAgICAgICBAbWVkaWEgc2NyZWVuIHsgLnBhcGVyaCB7d2lkdGg6 -ODQxLjlweDttYXJnaW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1 -cHQ7bWFyZ2luLWxlZnQ6ODUuMDVwdDttYXJnaW4tdG9wOjg1LjA1cHQ7fX0KICAg -ICAgICBAbWVkaWEgcHJpbnQgeyAucGFwZXJoIHt3aWR0aDo4NDEuOXB4O21hcmdp -bi10b3A6MC4wcHQ7bWFyZ2luLXJpZ2h0OjAuMHB0O21hcmdpbi1ib3R0b206MC4w -cHQ7bWFyZ2luLWxlZnQ6MC4wcHQ7c2l6ZTpsYW5kc2NhcGV9fQovKiBBbGxnZW1l -aW5lIEFuZ2FiZW4genVtIEFuemVpZ2VuIHZvbiBMaW5pZW4gaW4gVGFiZWxsZW4g -ICAgICAqLwovKgpAcGFnZSA6bGVmdCB7c2l6ZTogMjFjbSAyOS43Y207bWFyZ2lu -LWxlZnQ6IDJjbTttYXJnaW4tcmlnaHQ6IDJjbTttYXJrczpjcm9wO30KQHBhZ2Ug -OnJpZ2h0IHtzaXplOiAyMWNtIDI5LjdjbTttYXJnaW4tbGVmdDogMmNtO21hcmdp -bi1yaWdodDogMmNtO21hcmtzOmNyb3A7fQoqLwp0YWJsZS50b3Age2JvcmRlci10 -b3Atc3R5bGU6IHNvbGlkO2JvcmRlci10b3Atd2lkdGg6IHRoaW47Ym9yZGVyLWNv -bG9yOiBibGFjazt9CnRhYmxlLmJvdHRvbSB7Ym9yZGVyLWJvdHRvbS1zdHlsZTog -c29saWQ7Ym9yZGVyLWJvdHRvbS13aWR0aDogdGhpbjtib3JkZXItY29sb3I6IGJs -YWNrO30KdGQudG9wIHtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci10b3At -d2lkdGg6MXB0O30KdGQucmlnaHQge2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDti -b3JkZXItcmlnaHQtd2lkdGg6MXB0O30KdGQuYm90dG9tIHtib3JkZXItYm90dG9t -LXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20td2lkdGg6MXB0O30KdGQubGVmdCB7 -Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtd2lkdGg6MXB0O30K -LypUZXh0IGlubmVyaGFsYiBlaW5lciBUYWJlbGxlbnplbGxlIGZ1ZXIgImFic2F0 -eiIgdW5kICJ1ZWJlcnNjaHJpZnQiKi8KLkFsaWduTGVmdCB7dGV4dC1hbGlnbjps -ZWZ0O30KLkFsaWduUmlnaHQge3RleHQtYWxpZ246cmlnaHQ7fQouQWxpZ25DZW50 -ZXIge3RleHQtYWxpZ246Y2VudGVyO30KLkFsaWduSnVzdGlmeSB7dGV4dC1hbGln -bjpqdXN0aWZ5O30KLlZBbGlnblRvcCB7dmVydGljYWwtYWxpZ246dG9wO30KLlZB -bGlnbkJvdHRvbSB7dmVydGljYWwtYWxpZ246Ym90dG9tO30KLyoqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKi8KLyogTGVnaXN0aWstU3RhbmRhcmQtRm9ybWF0dm9ybGFnZSAgICAgICAg -ICAgICAgICAgICAgICAgICAgICAgKi8KLyogRm9ybWF0dm9ybGFnZTogMDBfTGVn -U3RhbmRhcmQgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLkxlZ1N0YW5kYXJkIHsKdGV4 -dC1hbGlnbjpqdXN0aWZ5Oy8qT0sqLwpsaW5lLWhlaWdodDoxMS4wcHQ7CmZvbnQt -c2l6ZToxMC4wcHQ7CmZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyoq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKi8KLyogRm9ybWF0dm9ybGFnZW4gZnVlciBBYnNhZXR6ZSAg -ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -Ki8KLyogRm9ybWF0dm9ybGFnZTogMDFfVW5kZWZpbmllcnQgKi8KcC5VbmRlZmlu -aWVydCB7bWFyZ2luLXRvcDoxLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmp1c3RpZnk7LypP -SyovbGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6IHJlZDt9Ci8qIEZvcm1hdHZvcmxh -Z2U6IDAyX0JER2VzQmxhdHQgKi8KcC5CREdlc0JsYXR0IHttYXJnaW4tdG9wOjE0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MzUuMHB0 -O2ZvbnQtc2l6ZTozNS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7 -Y29sb3I6YmxhY2s7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFj -aW5nOjEuM3B0O2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiAw -M19SZXBPZXN0ZXJyICovCnAuUmVwT2VzdGVyciB7bWFyZ2luLXRvcDo2LjBwdDtt -YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBj -bTttYXJnaW4tYm90dG9tOjEyLjBwdDsvKnRleHQtYWxpZ246Y2VudGVyOyovbGlu -ZS1oZWlnaHQ6MjAuMHB0O2JvcmRlcjpub25lO3BhZGRpbmc6MGNtO2ZvbnQtc2l6 -ZToyMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6Ymxh -Y2s7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjEuMHB0 -O2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiAwNF9BdXNnYWJl -RGF0ZW4gKi8KcC5BdXNnYWJlRGF0ZW4ge21hcmdpbi10b3A6MGNtO21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO2xpbmUt -aGVpZ2h0OjE0LjBwdDtwYWRkaW5nOjBjbTtmb250LXNpemU6MTIuMHB0O2ZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOiBibGFjaztmb250LXdlaWdo -dDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogMDVfS3VyenRpdGVsCkt1cnp0aXRl -bCBpbiBlaW5lciBTcGFsdGUgKHdlbm4ga2VpbiBUQUIgdm9yaGFuZGVuIGlzdCkg -Ki8KcC5LdXJ6dGl0ZWwxIHttYXJnaW4tdG9wOjIuMHB0O21hcmdpbi1yaWdodDog -MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OiAzLjZjbTsvKnRleHQt -YWxpZ246anVzdGlmeTsqL3RleHQtaW5kZW50OiAtMy42Y207Ym9yZGVyOm5vbmU7 -cGFkZGluZzowY207Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyogS3Vy -enRpdGVsIGluIHp3ZWkgU3BhbHRlbiAod2VubiBlaW4gVEFCIHZvcmhhbmRlbiBp -c3QpICovCnAuS3VyenRpdGVsMiB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmln -aHQ6IDBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDogMGNtOy8qdGV4 -dC1hbGlnbjpqdXN0aWZ5OyovYm9yZGVyOm5vbmU7cGFkZGluZzowY207Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpi -bGFjaztmb250LXdlaWdodDpib2xkO30Kc3Bhbi5LdXJ6dGl0ZWxicmVpdGUge3dp -ZHRoOiAzLjRjbTt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDA5X0Fic3RhbmQgKi8KcC5B -YnN0YW5kIHttYXJnaW46Ni4wcHQ7bWFyZ2luLWJvdHRvbTo2LjBwdDtsaW5lLWhl -aWdodDoxMC4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDEwX0Vu -dHd1cmYgKi8KcC5FbnR3dXJmIHttYXJnaW4tdG9wOjgwLjBwdDttYXJnaW4tcmln -aHQ6MGNtO21hcmdpbi1ib3R0b206NjQuMHB0O21hcmdpbi1sZWZ0OjBjbTsvKnRl -eHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZTox -MC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGV0dGVyLXNwYWNp -bmc6MS4zcHQ7fQovKiBGb3JtYXR2b3JsYWdlOiAxMV9UaXRlbCAqLwpwLlRpdGVs -IHttYXJnaW4tdG9wOjI0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0 -b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xp -bmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3Js -YWdlOiAxMl9Qcm9tS2xfRWlubFNhdHogKi8JCnAuUHJvbUtsRWlubFNhdHoge21h -cmdpbi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBj -bTttYXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOmp1c3RpZnk7Ki90ZXh0LWlu -ZGVudDoxOS44NXB0O2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVy -OmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiAxOF9BYmJpbGR1bmdfb2Rlcl9PYmpl -a3QgKi8KcC5BYmJpbGR1bmdvZGVyT2JqZWt0IHttYXJnaW4tdG9wOjYuMHB0O21h -cmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo2LjBwdDttYXJnaW4tbGVmdDow -Y207Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu -Ijtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDE5X0Jlc2NocmlmdHVu -ZyAqLwpwLkJlc2NocmlmdHVuZyB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjYuMHB0O21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtjb2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDIxX05v -dkFvMSAqLwpwLk5vdkFvMSB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6 -MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxp -Z246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFrLWFmdGVy -OmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7Zm9udC1zdHlsZTppdGFsaWM7fQovKiBGb3JtYXR2b3JsYWdlOiAyMl9O -b3ZBbzEgKi8KcC5Ob3ZBbzIge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0ZXh0LWFs -aWduOmp1c3RpZnk7Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBw -dDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250LXN0eWxlOml0YWxp -Yzt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDIzX1NhdHpfKG5hY2hfTm92YW8pICovCnAu -U2F0em5hY2hOb3ZhbyB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNt -O21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246 -anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30KLyogRm9y -bWF0dm9ybGFnZTogMzBfSW5oYWx0VWViZXJzY2hyaWZ0ICovCnAuSW5oYWx0VWVi -ZXJzY2hyaWZ0IHttYXJnaW4tdG9wOjE2LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21h -cmdpbi1ib3R0b206OC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246Y2Vu -dGVyO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3Jt -YXR2b3JsYWdlOiAzMV9JbmhhbHRTcGFsdGUgKi8KcC5JbmhhbHRTcGFsdGUge21h -cmdpbi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjQu -MHB0O21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVh -ay1hZnRlcjphdm9pZDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdl -OiAzMl9JbmhhbHRFaW50cmFnICovCnAuSW5oYWx0RWludHJhZyB7bWFyZ2luLXRv -cDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4t -bGVmdDowY207bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9u -dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA0 -MV9VZWJlcnNjaHJHMSAqLwpwLlVlYmVyc2NockcxIHttYXJnaW4tdG9wOjE2LjBw -dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0 -OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1oZWlnaHQ6MTEuMHB0O3Bh -Z2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWls -eToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xk -O30KLyogRm9ybWF0dm9ybGFnZTogNDJfVWViZXJzY2hyRzEtICovCnAuVWViZXJz -Y2hyRzEtIHttYXJnaW4tdG9wOjguMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2lu -LWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtOy8qdGV4dC1hbGlnbjpjZW50ZXI7 -Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZDtmb250 -LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9y -OmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA0M19V -ZWJlcnNjaHJHMiAqLwpwLlVlYmVyc2NockcyIHttYXJnaW4tdG9wOjQuMHB0O21h -cmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo0LjBwdDttYXJnaW4tbGVmdDow -Y207Lyp0ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdl -LWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDQ0X1VlYmVyc2NockFydCAqLwpwLlVlYmVyc2No -ckFydCB7bWFyZ2luLXRvcDo4LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyov -bGluZS1oZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1z -aXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpi -bGFjaztmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogNDVfVWVi -ZXJzY2hyUGFyYSAqLwpwLlVlYmVyc2NoclBhcmEge21hcmdpbi10b3A6NC4wcHQ7 -bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDow -Y207Lyp0ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdl -LWJyZWFrLWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDUxX0FicyAqLwpwLkFicyB7bWFyZ2luLXRvcDo0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1s -ZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL3RleHQtaW5kZW50OjE5Ljg1 -cHQ7LypsaW5lLWhlaWdodDoxMS4wcHQ7Ki9mb250LXNpemU6MTAuMHB0O2ZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFnZTogNTJf -WmlmZmVyX2UxIC0gZTMgKi8KcC5aaWZmZXJFMSwgcC5aaWZmZXJFMiwgcC5aaWZm -ZXJFMyB7bWFyZ2luLXRvcDoyLjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7Zm9u -dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8q -IEZvcm1hdHZvcmxhZ2U6IDUyX1ppZmZlcl9taXRfQmV0cmFnICovCnAuWmlmZmVy -TWl0QmV0cmFnIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdp -bi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7 -cHVuY3R1YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRvc3BhY2U6bm9uZTtmb250 -LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyog -Rm9ybWF0dm9ybGFnZTogNTJhVF9aaWZmZXJfbWl0X0JldHJhZ19UR1VFICovCnAu -WmlmZmVyTWl0QmV0cmFnVEdVRSB7bWFyZ2luLXRvcDowY207bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWln -aHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2ltcGxlO3RleHQtYXV0b3NwYWNl -Om5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDUzX0xpdGVyYV9lMSAtIGUzICovCnAu -TGl0ZXJhRTEsIHAuTGl0ZXJhRTIsIHAuTGl0ZXJhRTMge21hcmdpbi10b3A6Mi4w -cHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVm -dDowY207bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1M19M -aXRlcmFfbWl0X0JldHJhZyAqLwpwLkxpdGVyYU1pdEJldHJhZyB7bWFyZ2luLXRv -cDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4t -bGVmdDowY207bGluZS1oZWlnaHQ6MTEuMHB0O3B1bmN0dWF0aW9uLXdyYXA6c2lt -cGxlO3RleHQtYXV0b3NwYWNlOm5vbmU7Zm9udC1zaXplOjEwLjBwdDtmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDUzYVRf -TGl0ZXJhX21pdF9CZXRyYWdfVEdVRSAqLwpwLkxpdGVyYU1pdEJldHJhZ1RHVUUg -e21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTow -Y207bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlv -bi13cmFwOnNpbXBsZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4w -cHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3Js -YWdlOiA1NF9TdWJsaXRlcmFfZTEgLSBlMyAqLwpwLlN1YmxpdGVyYUUxLCBwLlN1 -YmxpdGVyYUUyLCBwLlN1YmxpdGVyYUUzIHttYXJnaW4tdG9wOjIuMHB0O21hcmdp -bi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxlZnQ6MGNtO2xp -bmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFnZTogNTRfU3VibGl0ZXJh -X21pdF9CZXRyYWcgKi8KcC5TdWJsaXRlcmFNaXRCZXRyYWcge21hcmdpbi10b3A6 -MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWxl -ZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtwdW5jdHVhdGlvbi13cmFwOnNpbXBs -ZTt0ZXh0LWF1dG9zcGFjZTpub25lO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NGFUX1N1 -YmxpdGVyYV9taXRfQmV0cmFnX1RHVUUgKi8KcC5TdWJsaXRlcmFNaXRCZXRyYWdU -R1VFIHttYXJnaW4tdG9wOjBjbTttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0 -b206MGNtO21hcmdpbi1sZWZ0OjBjbTtsaW5lLWhlaWdodDoxMS4wcHQ7cHVuY3R1 -YXRpb24td3JhcDpzaW1wbGU7dGV4dC1hdXRvc3BhY2U6bm9uZTtmb250LXNpemU6 -MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0 -dm9ybGFnZTogNTRhX1N0cmljaF9lMSAtIGU3ICovCnAuU3RyaWNoRTEsIHAuU3Ry -aWNoRTIsIHAuU3RyaWNoRTMsIHAuU3RyaWNoRTQsIHAuU3RyaWNoRTUsIHAuU3Ry -aWNoRTYsIHAuU3RyaWNoRTcge21hcmdpbi10b3A6Mi4wcHQ7bWFyZ2luLXJpZ2h0 -OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7fQovKiBGb3JtYXR2b3JsYWdlOiA1NV9TY2hsdXNzdGVpbEFicywg -NTZfU2NobHVzc3RlaWxaaWZmLCA1N19TY2hsdXNzdGVpbExpdCovCnAuU2NobHVz -c3RlaWxBYnMsIHAuU2NobHVzc3RlaWxaaWZmLCBwLlNjaGx1c3N0ZWlsTGl0IHtt -YXJnaW46MGNtOyBsaW5lLWhlaWdodDoxMS4wcHQ7IGZvbnQtc2l6ZToxMC4wcHQ7 -IGZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLyogRm9ybWF0dm9ybGFn -ZTogNjFfVGFiVGV4dCAqLwpwLlRhYlRleHQge21hcmdpbjowY207bGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBGb3JtYXR2b3JsYWdlOiA2MWFfVGFi -VGV4dFJlY2h0c2IgKi8KcC5UYWJUZXh0UmVjaHRzYiB7bWFyZ2luOjBjbTt0ZXh0 -LWFsaWduOnJpZ2h0O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0 -O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30KLyog -Rm9ybWF0dm9ybGFnZTogNjFiX1RhYlRleHRaZW50cmllcnQgKi8KcC5UYWJUZXh0 -WmVudHJpZXJ0IHttYXJnaW46MGNtO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVp -Z2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iO2NvbG9yOmJsYWNrO30KLyogRm9ybWF0dm9ybGFnZTogNjFjX1Rh -YlRleHRCbG9jayAqLwpwLlRhYlRleHRCbG9jayB7bWFyZ2luOjBjbTt0ZXh0LWFs -aWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7 -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7fQovKiBG -b3JtYXR2b3JsYWdlOiA2Ml9Lb3BmemVpbGUgKi8KcC5Lb3BmemVpbGUge21hcmdp -bi10b3A6NC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTtt -YXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOmp1c3RpZnk7Ki9saW5lLWhlaWdo -dDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjtjb2xvcjogI0MwQzBDMDt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDYzX0Z1 -w596ZWlsZSAqLwpwLkZ1c3N6ZWlsZSB7bWFyZ2luLXRvcDoxMC4wcHQ7bWFyZ2lu -LXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0 -ZXh0LWFsaWduOmp1c3RpZnk7Ki9saW5lLWhlaWdodDoxMS4wcHQ7Zm9udC1zaXpl -OjkuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOiAjQzBD -MEMwO30KLyogRm9ybWF0dm9ybGFnZTogNjRfRk5fTGluaWUgKi8KcC5GTkxpbmll -IHttYXJnaW4tdG9wOjExLjBwdDttYXJnaW4tcmlnaHQ6MTMuMGNtO21hcmdpbi1i -b3R0b206MS4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtw -YWRkaW5nOjBjbTtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2JvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlk -O2JvcmRlci1ib3R0b20tY29sb3I6IEdyYXk7Ym9yZGVyLWJvdHRvbS13aWR0aDog -MXB4O30KLyogRm9ybWF0dm9ybGFnZTogNjVfRk5fVGV4dCAqLwpwLkZOVGV4dCB7 -bWFyZ2luOjBjbTt0ZXh0LWFsaWduOmp1c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0 -O2ZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtj -b2xvcjpibGFjazt9Ci8qIEZvcm1hdHZvcmxhZ2U6IDY2X0ZOX1plaWNoZW4gKi8K -c3Bhbi5GTlplaWNoZW4ge3ZlcnRpY2FsLWFsaWduOnN1cGVyOyBMQVlPVVQtR1JJ -RC1NT0RFOiBsaW5lO30KLyogRm9ybWF0dm9ybGFnZTogNjhfVW50ZXJzY2hyTCAq -LwpwLlVudGVyc2Nockwge21hcmdpbi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207dGV4dC1hbGlnbjps -ZWZ0O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJv -bGQ7fQovKiBGb3JtYXR2b3JsYWdlOiA2OV9VbnRlcnNjaHJNICovCnAuVW50ZXJz -Y2hyTSB7bWFyZ2luLXRvcDo4LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i -b3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmNlbnRlcjtsaW5l -LWhlaWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztmb250LXdlaWdodDpib2xkO30KLyog -Rm9ybWF0dm9ybGFnZTogNzFfQW5sYWdlbmJleiAqLwpwLkFubGFnZW5iZXoge21h -cmdpbi10b3A6OC4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBj -bTttYXJnaW4tbGVmdDowY207Lyp0ZXh0LWFsaWduOnJpZ2h0OyovbGluZS1oZWln -aHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qIEZvcm1h -dHZvcmxhZ2U6IDgxX0VybFVlYmVyc2NoclogKi8KcC5FcmxVZWJlcnNjaHJaIHtt -YXJnaW4tdG9wOjE2LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206 -MGNtO21hcmdpbi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246Y2VudGVyOyovbGluZS1o -ZWlnaHQ6MTEuMHB0O3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Zm9udC1zaXplOjEx -LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjaztm -b250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogODJfRXJsVWViZXJz -Y2hyTCAqLwpwLkVybFVlYmVyc2Nockwge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2lu -LXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0 -ZXh0LWFsaWduOmp1c3RpZnk7Ki9saW5lLWhlaWdodDoxMS4wcHQ7cGFnZS1icmVh -ay1hZnRlcjphdm9pZDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO2ZvbnQtd2VpZ2h0OmJvbGQ7fQovKiBG -b3JtYXR2b3JsYWdlOiA4M19FcmxUZXh0ICovCnAuRXJsVGV4dCB7bWFyZ2luLXRv -cDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MGNtO21hcmdp -bi1sZWZ0OjBjbTsvKnRleHQtYWxpZ246anVzdGlmeTsqL2xpbmUtaGVpZ2h0OjEx -LjBwdDtmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t -YW4iO30KLyogRm9ybWF0dm9ybGFnZTogODVfRXJsQXVmemFlaGxnIC0gbm9jaCBu -aWNodCBmZXJ0aWcgKi8KcC5FcmxBdWZ6YWVobGcge21hcmdpbi10b3A6NC4wcHQ7 -bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDow -Y207dGV4dC1hbGlnbjpqdXN0aWZ5O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNp -emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJs -YWNrO30KLyogRm9ybWF0dm9ybGFnZTogODlfVEdVRV9VZWJlcnNjaHJTcGFsdGUq -LwpwLlRHVUVVZWJlcnNjaHJTcGFsdGUge21hcmdpbi10b3A6NC4wcHQ7bWFyZ2lu -LXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207Lyp0 -ZXh0LWFsaWduOmNlbnRlcjsqL2xpbmUtaGVpZ2h0OjExLjBwdDtwYWdlLWJyZWFr -LWFmdGVyOmF2b2lkO2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci8qKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKiovCi8qIEZvcm1hdHZvcmxhZ2VuIGZ1ZXIgWmVpY2hlbmZvcm1h -dGllcnVuZyAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov -Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5MF9GZWhsZXIgKi8Kc3Bhbi5GZWhsZXIge2Nv -bG9yOiByZWQ7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTFfR2xkU3ltYm9sICovCnNw -YW4uR2xkU3ltYm9sIHtmb250LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFn -ZTogOTkyX05vcm1hbCAqLwpzcGFuLk5vcm1hbCB7Zm9udC1zdHlsZTogbm9ybWFs -O30KLyogRm9ybWF0dm9ybGFnZTogOTkzX0ZldHQgKi8Kc3Bhbi5GZXR0IHtmb250 -LXdlaWdodDpib2xkO30KLyogRm9ybWF0dm9ybGFnZTogOTk0X0t1cnNpdiAqLwpz -cGFuLkt1cnNpdiB7Zm9udC1zdHlsZTppdGFsaWM7fQovKiBGb3JtYXR2b3JsYWdl -OiA5OTVfVW50ZXJzdHJpY2hlbiAqLwpzcGFuLlVudGVyc3RyaWNoZW4ge3RleHQt -ZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQovKiBGb3JtYXR2b3JsYWdlOiA5OTZfR2Vz -cGVycnQgKi8Kc3Bhbi5HZXNwZXJydCB7bGV0dGVyLXNwYWNpbmc6MS4zcHQ7fQov -KiBGb3JtYXR2b3JsYWdlOiA5OTdfSG9jaCAqLwpzcGFuLkhvY2gge2xpbmUtaGVp -Z2h0OiA2MCU7IGZvbnQtc2l6ZTogNjAlOyB2ZXJ0aWNhbC1hbGlnbjpzdXBlcjt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5OF9UaWVmICovCnNwYW4uVGllZiB7bGluZS1o -ZWlnaHQ6IDYwJTsgZm9udC1zaXplOiA2MCU7IHZlcnRpY2FsLWFsaWduOnN1Yjt9 -Ci8qIEZvcm1hdHZvcmxhZ2U6IDk5OV9GZXR0X3VuZF9LdXJzaXYgKi8Kc3Bhbi5G -ZXR0dW5kS3Vyc2l2IHtmb250LXdlaWdodDpib2xkOyBmb250LXN0eWxlOml0YWxp -Yzt9Ci8qIFN0YW5kYXJkdGFic2Nocml0dHdlaXRlIGF1cyBXb3JkICovCnNwYW4u -U3RhbmRhcmR0YWJ1bGF0b3Ige3dpZHRoOjM1LjQ1cHQ7fQovKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqLwovKiBGb3JtYXR2b3JsYWdlbiBkZXIgUGFybGFtZW50c2RpcmVrdGlvbiAg -ICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwLlBEQWxs -b25nZSwgbGkuUERBbGxvbmdlLCBkaXYuUERBbGxvbmdlIHttYXJnaW4tdG9wOjE0 -LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTAuMHB0O21hcmdp -bi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTQuMHB0O2Zv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91dC1ncmlkLW1vZGU6bGlu -ZTt9CnAuUERBbGxvbmdlQiwgbGkuUERBbGxvbmdlQiwgZGl2LlBEQWxsb25nZUIg -e21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bToxMC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtmb250 -LXNpemU6MTQuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91 -dC1ncmlkLW1vZGU6bGluZTt9CnAuUERBbGxvbmdlTCwgbGkuUERBbGxvbmdlTCwg -ZGl2LlBEQWxsb25nZUwge21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDow -Y207bWFyZ2luLWJvdHRvbToxMC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6 -ZToxNC4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdy -aWQtbW9kZTpsaW5lO30KcC5QREFudHJhZ3Nmb3JtZWwsIGxpLlBEQW50cmFnc2Zv -cm1lbCwgZGl2LlBEQW50cmFnc2Zvcm1lbCB7bWFyZ2luLXRvcDoxNC4wcHQ7bWFy -Z2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207 -dGV4dC1hbGlnbjpqdXN0aWZ5O2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNpemU6 -MTAuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91dC1ncmlk -LW1vZGU6bGluZTt9CnAuUEREYXR1bSwgbGkuUEREYXR1bSwgZGl2LlBERGF0dW0g -e21hcmdpbi10b3A6MTQuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7fQpwLlBERW50c2NobGll -c3N1bmcsIGxpLlBERW50c2NobGllc3N1bmcsIGRpdi5QREVudHNjaGxpZXNzdW5n -IHttYXJnaW4tdG9wOjguMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRv -bTowY207bWFyZ2luLWxlZnQ6MGNtO2xpbmUtaGVpZ2h0OjExLjBwdDtmb250LXNp -emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2xheW91dC1n -cmlkLW1vZGU6bGluZTtmb250LXdlaWdodDpib2xkO30KcC5QREsxLCBsaS5QREsx -LCBkaXYuUERLMSB7bWFyZ2luOjBjbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6 -bm9uZTtwYWRkaW5nOjBjbTtmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiJU -aW1lcyBOZXcgUm9tYW4iO2xldHRlci1zcGFjaW5nOi0uNHB0O2ZvbnQtd2VpZ2h0 -OmJvbGQ7fQpwLlBESzFBbmxhZ2UsIGxpLlBESzFBbmxhZ2UsIGRpdi5QREsxQW5s -YWdlIHttYXJnaW46MGNtO3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOjEyLjBw -dDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtsZXR0ZXItc3BhY2luZzot -LjRwdDtmb250LXdlaWdodDpib2xkO30KcC5QREsxQXVzZywgbGkuUERLMUF1c2cs -IGRpdi5QREsxQXVzZyB7bWFyZ2luLXRvcDo2Mi45cHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjI3LjBwdDttYXJnaW4tbGVmdDowY207Zm9udC1zaXpl -OjExLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250LXdlaWdo -dDpib2xkO30KcC5QREsyLCBsaS5QREsyLCBkaXYuUERLMiB7bWFyZ2luLXRvcDow -Y207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjExLjM1cHQ7bWFyZ2lu -LWxlZnQ6MGNtO2ZvbnQtc2l6ZToyMi4wcHQ7Zm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERLMywgbGkuUERLMywgZGl2 -LlBESzMge21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv -dHRvbToyMC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO2ZvbnQtc2l6ZToxOC4wcHQ7Zm9u -dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAu -UERLNCwgbGkuUERLNCwgZGl2LlBESzQge21hcmdpbi10b3A6MGNtO21hcmdpbi1y -aWdodDowY207bWFyZ2luLWJvdHRvbTo2LjBwdDttYXJnaW4tbGVmdDowY207Zm9u -dC1zaXplOjEzLjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtmb250 -LXdlaWdodDpib2xkO30KcC5QREtvcGZ6ZWlsZSwgbGkuUERLb3BmemVpbGUsIGRp -di5QREtvcGZ6ZWlsZSB7bWFyZ2luLXRvcDo0LjBwdDttYXJnaW4tcmlnaHQ6MGNt -O21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1sZWZ0OjBjbTt0ZXh0LWFsaWduOmp1 -c3RpZnk7bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bGF5b3V0LWdyaWQtbW9kZTpsaW5lO30K -cC5QRFUxLCBsaS5QRFUxLCBkaXYuUERVMSB7bWFyZ2luLXRvcDoyMi4wcHQ7bWFy -Z2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207 -bGluZS1oZWlnaHQ6MTEuMHB0O2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 -IlRpbWVzIE5ldyBSb21hbiI7Zm9udC13ZWlnaHQ6Ym9sZDt9CnAuUERVMiwgbGku -UERVMiwgZGl2LlBEVTIge21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBj -bTttYXJnaW4tYm90dG9tOjBjbTttYXJnaW4tbGVmdDowY207bGluZS1oZWlnaHQ6 -MTEuMHB0O2ZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjt9CnAuUERWb3JsYWdlLCBsaS5QRFZvcmxhZ2UsIGRpdi5QRFZvcmxhZ2Ug -e21hcmdpbi10b3A6MGNtO21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTox -MC4wcHQ7bWFyZ2luLWxlZnQ6MGNtO3RleHQtYWxpZ246anVzdGlmeTtsaW5lLWhl -aWdodDoxMS4wcHQ7Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjtsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7Zm9udC13ZWlnaHQ6Ym9s -ZDt9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxkaXYgY2xhc3M9InBhcGVydyI+ -CgoKCgo8cCBjbGFzcz0iQkRHZXNCbGF0dCBBbGlnbkNlbnRlciI+QlVOREVTR0VT -RVRaQkxBVFQ8L3A+CjxwIGNsYXNzPSJSZXBPZXN0ZXJyIEFsaWduQ2VudGVyIj5G -w5xSIERJRSBSRVBVQkxJSyDDllNURVJSRUlDSDwvcD4KPHRhYmxlIGNsYXNzPSJ0 -b3AgYm90dG9tIHdpMTAwIj4KPHRyPgo8dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0 -ZW4gQWxpZ25MZWZ0Ij5KYWhyZ2FuZyAyMDA2PC9wPgo8L3RkPgo8dGQ+CjxwIGNs -YXNzPSJBdXNnYWJlRGF0ZW4gQWxpZ25DZW50ZXIiPkF1c2dlZ2ViZW4gYW0gMzAu -IE1haSAyMDA2PC9wPgo8L3RkPgo8dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0ZW4g -QWxpZ25SaWdodCI+VGVpbMKgSUk8L3A+CjwvdGQ+CjwvdHI+CjwvdGFibGU+Cjx0 -YWJsZSBjbGFzcz0iYm90dG9tIHdpMTAwIj4KPHRyPgo8dGQgY29sc3Bhbj0iMiI+ -CjxwIGNsYXNzPSJLdXJ6dGl0ZWwxIEFsaWduTGVmdCBWQWxpZ25Ub3AiPjIwNC4g -VmVyb3JkbnVuZzogw4RuZGVydW5nIGRlciBTY2hpZmZzdGVjaG5pa3Zlcm9yZG51 -bmc8L3A+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxwIGNsYXNzPSJUaXRlbCBBbGln -bkp1c3RpZnkiPjIwNC4gVmVyb3JkbnVuZyBkZXMgQnVuZGVzbWluaXN0ZXJzIGbD -vHIgVmVya2VociwgSW5ub3ZhdGlvbiB1bmQgVGVjaG5vbG9naWUsIG1pdCBkZXIg -ZGllIFNjaGlmZnN0ZWNobmlrdmVyb3JkbnVuZyBnZcOkbmRlcnQgd2lyZDwvcD4K -PHAgY2xhc3M9IlByb21LbEVpbmxTYXR6IEFsaWduSnVzdGlmeSI+QXVmIEdydW5k -IGRlcyDCp8KgMTA5IEFicy7CoDcgZGVzIFNjaGlmZmZhaHJ0c2dlc2V0emVzLCBC -R0JsLsKgSSBOci7CoDYyLzE5OTcgaW4gZGVyIEZhc3N1bmcgQkdCbC7CoEkgTnIu -wqAxMjMvMjAwNSwgd2lyZCB2ZXJvcmRuZXQ6PC9wPgo8cCBjbGFzcz0iTm92QW8x -IEFsaWduSnVzdGlmeSI+RGVtIMKnwqAyNiBkZXIgU2NoaWZmc3RlY2huaWt2ZXJv -cmRudW5nLCBCR0JsLiBOci7CoDQ1MC8xOTkzLCB6dWxldHp0IGdlw6RuZGVydCBk -dXJjaCBCR0JsLsKgSUkgTnIuwqAxOTYvMTk5Nywgd2VyZGVuIGZvbGdlbmRlIEFi -c8OkdHplIDggdW5kIDkgYW5nZWbDvGd0OjwvcD4KPHAgY2xhc3M9IkFicyBBbGln -bkp1c3RpZnkiPgrigJ4oOCkgTW90b3JlbiBkZXIgS2F0ZWdvcmllbiBWIDE6MSwg -ViAxOjIgdW5kIFYgMTozIGdlbcOkw58gVmVyb3JkbnVuZyBkZXMgQnVuZGVzbWlu -aXN0ZXJzIGbDvHIgV2lydHNjaGFmdCB1bmQgQXJiZWl0IMO8YmVyIE1hw59uYWht -ZW4genVyIEJla8OkbXBmdW5nIGRlciBFbWlzc2lvbiB2b24gZ2FzZsO2cm1pZ2Vu -IFNjaGFkc3RvZmZlbiB1bmQgbHVmdHZlcnVucmVpbmlnZW5kZW4gUGFydGlrZWxu -IGF1cyBWZXJicmVubnVuZ3Ntb3RvcmVuIGbDvHIgbW9iaWxlIE1hc2NoaW5lbiB1 -bmQgR2Vyw6R0ZSwgQkdCbC7CoElJIE5yLsKgMTM2LzIwMDUsIGTDvHJmZW4gbmFj -aCBkZW0gMzEuwqBEZXplbWJlciAyMDA2IG51ciBhbHMgSGF1cHQtIG9kZXIgSGls -ZnNtYXNjaGluZW4gaW4gRmFocnpldWdlLCBhdXNnZW5vbW1lbiBLbGVpbmZhaHJ6 -ZXVnZSwgZWluZ2ViYXV0IHdlcmRlbiwgd2VubiBzaWUgw7xiZXIgZWluZSBUeXBn -ZW5laG1pZ3VuZyBnZW3DpMOfIMKnwqAxMCBBYnNhdHogM2UgZGllc2VyIFZlcm9y -ZG51bmcgdmVyZsO8Z2VuLjwvcD4KPHAgY2xhc3M9IkFicyBBbGlnbkp1c3RpZnki -Pig5KSBNb3RvcmVuIGRlciBLYXRlZ29yaWVuIFYgMTo0IHVuZCBWIDIgZ2Vtw6TD -nyBWZXJvcmRudW5nIGRlcyBCdW5kZXNtaW5pc3RlcnMgZsO8ciBXaXJ0c2NoYWZ0 -IHVuZCBBcmJlaXQgw7xiZXIgTWHDn25haG1lbiB6dXIgQmVrw6RtcGZ1bmcgZGVy -IEVtaXNzaW9uIHZvbiBnYXNmw7ZybWlnZW4gU2NoYWRzdG9mZmVuIHVuZCBsdWZ0 -dmVydW5yZWluaWdlbmRlbiBQYXJ0aWtlbG4gYXVzIFZlcmJyZW5udW5nc21vdG9y -ZW4gZsO8ciBtb2JpbGUgTWFzY2hpbmVuIHVuZCBHZXLDpHRlLCBCR0JsLsKgSUkg -TnIuwqAxMzYvMjAwNSwgZMO8cmZlbiBuYWNoIGRlbSAzMS7CoERlemVtYmVyIDIw -MDggbnVyIGFscyBIYXVwdC0gb2RlciBIaWxmc21hc2NoaW5lbiBpbiBGYWhyemV1 -Z2UsIGF1c2dlbm9tbWVuIEtsZWluZmFocnpldWdlLCBlaW5nZWJhdXQgd2VyZGVu -LCB3ZW5uIHNpZSDDvGJlciBlaW5lIFR5cGdlbmVobWlndW5nIGdlbcOkw58gwqfC -oDEwIEFic2F0eiAzZSBkaWVzZXIgVmVyb3JkbnVuZyB2ZXJmw7xnZW4u4oCcCjwv -cD4KPHAgY2xhc3M9IlVudGVyc2NockwiPkdvcmJhY2g8L3A+Cgo8cCBjbGFzcz0i -RnVzc3plaWxlIEFsaWduSnVzdGlmeSI+d3d3LnJpcy5ia2EuZ3YuYXQ8L3A+Cjwv -ZGl2Pgo8L2JvZHk+Cgo8L2h0bWw+</sl11:Base64Content></sl11:HashInputData><sl11:SignatureCheck><sl11:Code>0</sl11:Code></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl11:Code>98</sl11:Code></sl11:SignatureManifestCheck><sl11:SignatureManifestCheck><sl11:Code>0</sl11:Code></sl11:SignatureManifestCheck><sl11:CertificateCheck><sl10:Code>1</sl10:Code></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.iso8859.xml b/spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.iso8859.xml deleted file mode 100644 index 866d96f85..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.iso8859.xml +++ /dev/null @@ -1,1166 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sl11:VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>21221</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate><moa:PublicAuthority/></dsig:X509Data></sl11:SignerInfo><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVh -ZD4KPHRpdGxlPmVSZWNodCBYSFRNTCAxLjEgRG9rdW1lbnQ8L3RpdGxlPgo8c3R5 -bGUgdHlwZT0idGV4dC9jc3MiPgogIAogICAgLk4xMDBDMCB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwMEM5IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTAwRDkgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -MEVGIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwMTA4IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDExMiB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDExRiB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTAxMjkgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAxMzYgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMTQwIHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMTREIHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDE1NyB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDE2QiB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwMTc0 -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAxODQgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMTlBIHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMUIzIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDFCRCB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDFD -QSB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAxRDQg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTAxRTEgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwMUVCIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwMUY4IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDIwMiB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDIxNiB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwMjFGIHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTAyMkYgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -MjQ1IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwMjVFIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDI2OCB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDI3NSB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTAyN0YgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAyOEMgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMjk2IHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMkEzIHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDJBRCB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDJCQiB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwMkM0 -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAyRDIgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMkU4IHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMzAxIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDMwQiB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDMx -OCB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAzMjIg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTAzMkYgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwMzM5IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwMzQ2IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDM1MCB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDM1RSB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwMzY3IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTAzNzUgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -MzhCIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwM0E0IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDNBRSB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDNCQiB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTAzQzUgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAzRDIgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwM0RDIHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwM0U5IHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDNGMyB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDQwNyB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwNDEw -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA0MjAgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNDM2IHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNDRGIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDQ1OSB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDQ2 -NiB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA0NzAg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTA0N0QgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwNDg3IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwNDk0IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDQ5RSB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDRCMiB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwNEJCIHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTA0Q0IgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -NEUxIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwNEZBIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDUwNCB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDUxMSB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTA1MUIgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA1MjggeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTMyIHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTNGIHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDU0OSB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDU1NyB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwNTYw -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA1NkUgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTg0IHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTlEIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDVBNyB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDVC -NCB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA1QkUg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTA1Q0IgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwNUQ1IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwNUUyIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDVFQyB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDVGQSB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwNjAzIHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTA2MTEgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -NjI3IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwNjQwIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDY0QSB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDY1NyB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTA2NjEgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA2NkUgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNjc4IHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNjg1IHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDY4RiB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAg -ICAgIC5XMzggeyB3aWR0aDozOHB4OyB9CiAgICAgICAgLlcxNSB7IHdpZHRoOjE1 -cHg7IH0KICAgICAgICAuVzIyIHsgd2lkdGg6MjJweDsgfQogICAgICAgIC53aTEw -MCB7IHdpZHRoOjEwMCU7IH0KICAgICAgICAuV0VybCB7IHdpZHRoOjE1cHg7IH0K -ICAgICAgICAuRTFTcDIgeyB3aWR0aDo1NTcuM3B4OyB9CiAgICAgICAgLkUyU3Ay -IHsgd2lkdGg6NTQyLjNweDsgfQogICAgICAgIC5FM1NwMiB7IHdpZHRoOjUyMC4z -cHg7IH0KICAgICAgICAuRTRTcDIgeyB3aWR0aDo0OTguMjk5OTk5OTk5OTk5OTVw -eDsgfQogICAgICAgIC5FNVNwMiB7IHdpZHRoOjQ3Ni4yOTk5OTk5OTk5OTk5NXB4 -OyB9CiAgICAgICAgLkVybFNwMiB7IHdpZHRoOjU3MC4zcHg7IH0KICAgICAgICAu -RTFTcDJRIHsgd2lkdGg6ODAzLjlweDsgfQogICAgICAgIC5FMlNwMlEgeyB3aWR0 -aDo3ODguOXB4OyB9CiAgICAgICAgLkUzU3AyUSB7IHdpZHRoOjc2Ni45cHg7IH0K -ICAgICAgICAuRTRTcDJRIHsgd2lkdGg6NzQ0LjlweDsgfQogICAgICAgIC5FNVNw -MlEgeyB3aWR0aDo3MjIuOXB4OyB9CiAgICAgICAgLkVybFNwMlEgeyB3aWR0aDo4 -MTYuOXB4OyB9CiAgICAgICAgLm5leHRwYWdlIHsgcGFnZS1icmVhay1iZWZvcmU6 -YWx3YXlzOyB9CiAgICAgICAgLm1hcmdpbnMge21hcmdpbi10b3A6ODUuMDVwdDtt -YXJnaW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2lu -LWxlZnQ6ODUuMDVwdDt9CiAgICAgICAgQG1lZGlhIHNjcmVlbiB7IC5wYXBlcncg -e3dpZHRoOjU5NS4zcHg7bWFyZ2luLXRvcDo4NS4wNXB0O21hcmdpbi1yaWdodDo4 -NS4wNXB0O21hcmdpbi1ib3R0b206ODUuMDVwdDttYXJnaW4tbGVmdDo4NS4wNXB0 -O319CiAgICAgICAgQG1lZGlhIHByaW50IHsgLnBhcGVydyB7d2lkdGg6NTk1LjNw -eDttYXJnaW4tdG9wOjAuMHB0O21hcmdpbi1yaWdodDowLjBwdDttYXJnaW4tYm90 -dG9tOjAuMHB0O21hcmdpbi1sZWZ0OjAuMHB0O3NpemU6cG9ydHJhaXQ7fX0KICAg -ICAgICBAbWVkaWEgc2NyZWVuIHsgLnBhcGVyaCB7d2lkdGg6ODQxLjlweDttYXJn -aW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxl -ZnQ6ODUuMDVwdDttYXJnaW4tdG9wOjg1LjA1cHQ7fX0KICAgICAgICBAbWVkaWEg -cHJpbnQgeyAucGFwZXJoIHt3aWR0aDo4NDEuOXB4O21hcmdpbi10b3A6MC4wcHQ7 -bWFyZ2luLXJpZ2h0OjAuMHB0O21hcmdpbi1ib3R0b206MC4wcHQ7bWFyZ2luLWxl -ZnQ6MC4wcHQ7c2l6ZTpsYW5kc2NhcGV9fQovKioqKioqKioqKioqKioqKioqKioq -KioqKioqLwovKiBSZXZpc2lvbjogICAgMS44LjYgICAgICAqLwovKiBFcnN0ZWxs -dDogICAgMDMuMTAuMjAwMyAqLwovKiBNb2RpZml6aWVydDogMjQuMDMuMjAwNCAq -LwovKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBBbGxnZW1laW5lIEFu -Z2FiZW4genVtIEFuemVpZ2VuIHZvbiBMaW5pZW4gaW4gVGFiZWxsZW4gKi8KCi8q -QHBhZ2UgOmxlZnQgewogIHNpemU6IDIxY20gMjkuN2NtOyAKICBtYXJnaW4tbGVm -dDogMmNtOwogIG1hcmdpbi1yaWdodDogMmNtOwogIG1hcmtzOmNyb3A7Cn0KCkBw -YWdlIDpyaWdodCB7CiAgc2l6ZTogMjFjbSAyOS43Y207ICAKICBtYXJnaW4tbGVm -dDogMmNtOwogIG1hcmdpbi1yaWdodDogMmNtOwogIG1hcmtzOmNyb3A7Cn0KKi8K -dGFibGUudG9wCnsKCWJvcmRlci10b3Atc3R5bGU6IHNvbGlkOwoJYm9yZGVyLXRv -cC13aWR0aDogdGhpbjsKCWJvcmRlci1jb2xvcjogYmxhY2s7Cn0KCnRhYmxlLmJv -dHRvbQp7Cglib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsKCWJvcmRlci1ib3R0 -b20td2lkdGg6IHRoaW47Cglib3JkZXItY29sb3I6IGJsYWNrOwp9Cgp0ZC50b3AK -ewogICBib3JkZXItdG9wLXN0eWxlOnNvbGlkOwogICBib3JkZXItdG9wLXdpZHRo -OjFwdDsKfQp0ZC5yaWdodAp7CiAgIGJvcmRlci1yaWdodC1zdHlsZTpzb2xpZDsK -ICAgYm9yZGVyLXJpZ2h0LXdpZHRoOjFwdDsKfQp0ZC5ib3R0b20KewogICBib3Jk -ZXItYm90dG9tLXN0eWxlOnNvbGlkOwogICBib3JkZXItYm90dG9tLXdpZHRoOjFw -dDsKfQp0ZC5sZWZ0CnsKICAgYm9yZGVyLWxlZnQtc3R5bGU6c29saWQ7CiAgIGJv -cmRlci1sZWZ0LXdpZHRoOjFwdDsKfQoKLypUZXh0IGlubmVyaGFsYiBlaW5lciBU -YWJlbGxlbnplbGxlKi8KLkFsaWduTGVmdAp7Cgl0ZXh0LWFsaWduOmxlZnQ7Cn0K -LkFsaWduUmlnaHQKewoJdGV4dC1hbGlnbjpyaWdodDsKfQouQWxpZ25DZW50ZXIK -ewoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KLkFsaWduSnVzdGlmeQp7Cgl0ZXh0LWFs -aWduOmp1c3RpZnk7Cn0KLlZBbGlnblRvcCB7Cgl2ZXJ0aWNhbC1hbGlnbjp0b3A7 -CQp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKiovCi8qIExlZ2lzdGlrLVN0YW5kYXJkLUZvcm1h -dHZvcmxhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKiovCgovKiBGb3JtYXR2b3JsYWdlOiAwMF9MZWdTdGFuZGFyZCAqLwou -TGVnU3RhbmRhcmQKewoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBGb3JtYXR2b3JsYWdl -biBmdWVyIEFic2FldHplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq -LwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqLwoKLyogRm9ybWF0dm9ybGFnZTogMDFfVW5kZWZp -bmllcnQgKi8KcC5VbmRlZmluaWVydAp7CgltYXJnaW4tdG9wOjEuMHB0OwoJbWFy -Z2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6 -MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJ -Zm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i -OwoJY29sb3I6IHJlZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogMDJfQkRHZXNCbGF0 -dCAqLwpwLkJER2VzQmxhdHQKewoJbWFyZ2luLXRvcDoxNC4wcHQ7CgltYXJnaW4t -cmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207 -Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjM1LjBwdDsKCWZvbnQt -c2l6ZTozNS4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNv -bG9yOmJsYWNrOwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwoJbGV0dGVyLXNw -YWNpbmc6MS4zcHQ7Cglmb250LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3Js -YWdlOiAwM19SZXBPZXN0ZXJyICovCnAuUmVwT2VzdGVycgp7CgltYXJnaW4tdG9w -OjYuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJbWFyZ2luLWJvdHRvbToxMi4wcHQ7Cgl0ZXh0LWFs -aWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjIwLjBwdDsKCWJvcmRlcjpub25lOwoJ -cGFkZGluZzowY207Cglmb250LXNpemU6MjAuMHB0OwoJZm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKCXRleHQtdHJhbnNmb3JtOnVw -cGVyY2FzZTsKCWxldHRlci1zcGFjaW5nOjEuMHB0OwoJZm9udC13ZWlnaHQ6Ym9s -ZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogMDRfQXVzZ2FiZURhdGVuICovCnAuQXVz -Z2FiZURhdGVuCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWln -aHQ6MTQuMHB0OwoJcGFkZGluZzowY207Cglmb250LXNpemU6MTIuMHB0OwoJZm9u -dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjogYmxhY2s7Cglmb250 -LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiAwNV9LdXJ6dGl0ZWwg -Ki8KLyogS3VyenRpdGVsIGluIGVpbmVyIFNwYWx0ZSAod2VubiBrZWluIFRBQiB2 -b3JoYW5kZW4gaXN0KSAqLwpwLkt1cnp0aXRlbDEKewoJbWFyZ2luLXRvcDoyLjBw -dDsKCW1hcmdpbi1yaWdodDogMGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJn -aW4tbGVmdDogMy42Y207Cgl0ZXh0LWFsaWduOmp1c3RpZnk7Cgl0ZXh0LWluZGVu -dDogLTMuNmNtOwoJYm9yZGVyOm5vbmU7CglwYWRkaW5nOjBjbTsKCWZvbnQtc2l6 -ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9y -OmJsYWNrOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogS3VyenRpdGVsIGluIHp3 -ZWkgU3BhbHRlbiAod2VubiBlaW4gVEFCIHZvcmhhbmRlbiBpc3QpICovCnAuS3Vy -enRpdGVsMgp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0OiAwY207 -CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OiAwY207Cgl0ZXh0LWFs -aWduOmp1c3RpZnk7Cglib3JkZXI6bm9uZTsKCXBhZGRpbmc6MGNtOwoJZm9udC1z -aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29s -b3I6YmxhY2s7Cglmb250LXdlaWdodDpib2xkOwp9CgpzcGFuLkt1cnp0aXRlbGJy -ZWl0ZQp7Cgl3aWR0aDogMy40Y207Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDA5X0Fi -c3RhbmQgKi8KcC5BYnN0YW5kCnsKCW1hcmdpbjo2LjBwdDsKCW1hcmdpbi1ib3R0 -b206Ni4wcHQ7CglsaW5lLWhlaWdodDoxMC4wcHQ7Cglmb250LXNpemU6MTAuMHB0 -OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsK -fQoKLyogRm9ybWF0dm9ybGFnZTogMTBfRW50d3VyZiAqLwpwLkVudHd1cmYKewoJ -bWFyZ2luLXRvcDo4MC4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJv -dHRvbTo2NC4wcHQ7CgltYXJnaW4tbGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRl -cjsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250 -LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWxldHRlci1zcGFjaW5nOjEuM3B0 -Owp9CgovKiBGb3JtYXR2b3JsYWdlOiAxMV9UaXRlbCAqLwpwLlRpdGVsCnsKCW1h -cmdpbi10b3A6MjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0 -b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJ -bGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjExLjBwdDsKCWZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyog -Rm9ybWF0dm9ybGFnZTogMTJfUHJvbUtsX0VpbmxTYXR6ICovCQpwLlByb21LbEVp -bmxTYXR6CnsKCW1hcmdpbi10b3A6OC4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJ -bWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207Cgl0ZXh0LWFsaWdu -Omp1c3RpZnk7Cgl0ZXh0LWluZGVudDoxOS44NXB0OwoJbGluZS1oZWlnaHQ6MTEu -MHB0OwoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsKCWZvbnQtc2l6ZToxMC4wcHQ7 -Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9y -bGFnZTogMThfQWJiaWxkdW5nX29kZXJfT2JqZWt0ICovCnAuQWJiaWxkdW5nb2Rl -ck9iamVrdAp7CgltYXJnaW4tdG9wOjYuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206Ni4wcHQ7CgltYXJnaW4tbGVmdDowY207Cglmb250LXNp -emU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xv -cjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogMThfQWJiaWxkdW5nX29kZXJf -T2JqZWt0ICovCnAuQWJiaWxkdW5nb2Rlck9iamVrdEwKewoJbWFyZ2luLXRvcDo2 -LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjYuMHB0OwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpsZWZ0OwoJZm9udC1zaXplOjEw -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6Ymxh -Y2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE4X0FiYmlsZHVuZ19vZGVyX09iamVr -dCAqLwpwLkFiYmlsZHVuZ29kZXJPYmpla3RaCnsKCW1hcmdpbi10b3A6Ni4wcHQ7 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdp -bi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC1zaXplOjEwLjBw -dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7 -Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE4X0FiYmlsZHVuZ19vZGVyX09iamVrdCAq -LwpwLkFiYmlsZHVuZ29kZXJPYmpla3RSCnsKCW1hcmdpbi10b3A6Ni4wcHQ7Cglt -YXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdpbi1s -ZWZ0OjBjbTsKCXRleHQtYWxpZ246cmlnaHQ7Cglmb250LXNpemU6MTAuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoK -LyogRm9ybWF0dm9ybGFnZTogMTlfQmVzY2hyaWZ0dW5nICovCnAuQmVzY2hyaWZ0 -dW5nCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdp -bi1ib3R0b206Ni4wcHQ7CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDox -MS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogMTlf -QmVzY2hyaWZ0dW5nICovCnAuQmVzY2hyaWZ0dW5nTAp7CgltYXJnaW4tdG9wOjBj -bTsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjYuMHB0OwoJbWFy -Z2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJdGV4dC1hbGlnbjps -ZWZ0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE5X0Jl -c2NocmlmdHVuZyAqLwpwLkJlc2NocmlmdHVuZ1oKewoJbWFyZ2luLXRvcDowY207 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdp -bi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCXRleHQtYWxpZ246Y2Vu -dGVyOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE5X0Jl -c2NocmlmdHVuZyAqLwpwLkJlc2NocmlmdHVuZ1IKewoJbWFyZ2luLXRvcDowY207 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdp -bi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCXRleHQtYWxpZ246cmln -aHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogMjFfTm92 -QW8xICovCnAuTm92QW8xCnsKCW1hcmdpbi10b3A6NC4wcHQ7CgltYXJnaW4tcmln -aHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207Cgl0 -ZXh0LWFsaWduOmp1c3RpZnk7CglsaW5lLWhlaWdodDoxMS4wcHQ7CglwYWdlLWJy -ZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iOwoJZm9udC1zdHlsZTppdGFsaWM7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDIyX05vdkFvMSAqLwpwLk5vdkFvMgp7CgltYXJnaW4tdG9w -OjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iOwoJZm9udC1zdHlsZTppdGFsaWM7Cn0KCi8qIEZvcm1hdHZv -cmxhZ2U6IDIzX1NhdHpfKG5hY2hfTm92YW8pICovCnAuU2F0em5hY2hOb3Zhbwp7 -CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1i -b3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5 -OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDMwX0luaGFsdFVlYmVyc2NocmlmdCAqLwpwLkluaGFsdFVl -YmVyc2NocmlmdAp7CgltYXJnaW4tdG9wOjE2LjBwdDsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjguMHB0OwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4 -dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6 -MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cglmb250LXdl -aWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiAzMV9JbmhhbHRTcGFsdGUg -Ki8KcC5JbmhhbHRTcGFsdGUKewoJbWFyZ2luLXRvcDo0LjBwdDsKCW1hcmdpbi1y -aWdodDowY207CgltYXJnaW4tYm90dG9tOjQuMHB0OwoJbWFyZ2luLWxlZnQ6MGNt -OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsK -CWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu -IjsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDMyX0lu -aGFsdEVpbnRyYWcgKi8KcC5JbmhhbHRFaW50cmFnCnsKCW1hcmdpbi10b3A6MGNt -OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2lu -LWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBw -dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2 -b3JsYWdlOiA0MV9VZWJlcnNjaHJHMSAqLwpwLlVlYmVyc2NockcxCnsKCW1hcmdp -bi10b3A6MTYuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206 -MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5l -LWhlaWdodDoxMS4wcHQ7CglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1z -aXplOjExLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29s -b3I6YmxhY2s7Cglmb250LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdl -OiA0Ml9VZWJlcnNjaHJHMS0gKi8KcC5VZWJlcnNjaHJHMS0KewoJbWFyZ2luLXRv -cDo4LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsK -CW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsKCWZvbnQtc2l6ZTox -MS4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9yOmJs -YWNrOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogNDNf -VWViZXJzY2hyRzIgKi8KcC5VZWJlcnNjaHJHMgp7CgltYXJnaW4tdG9wOjQuMHB0 -OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206NC4wcHQ7CgltYXJn -aW4tbGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjEx -LjBwdDsKCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Cglmb250LXNpemU6MTEuMHB0 -OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsK -CWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDQ0X1VlYmVy -c2NockFydCAqLwpwLlVlYmVyc2NockFydAp7CgltYXJnaW4tdG9wOjguMHB0OwoJ -bWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxl -ZnQ6MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7 -CglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250 -LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA0NV9VZWJlcnNjaHJQ -YXJhICovCnAuVWViZXJzY2hyUGFyYQp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFy -Z2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6 -MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglw -YWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250LXdl -aWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1MV9BYnMgKi8KcC5BYnMK -ewoJbWFyZ2luLXRvcDo0LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4t -Ym90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246anVzdGlm -eTsKCXRleHQtaW5kZW50OjE5Ljg1cHQ7Ci8qCWxpbmUtaGVpZ2h0OjExLjBwdDsg -Ki8KCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJfWmlmZmVyX2UxICovCnAuWmlm -ZmVyRTEKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1yaWdodDowY207Cglt -YXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0 -OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJfWmlmZmVyX2UyICov -CnAuWmlmZmVyRTIKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUt -aGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJfWmlmZmVy -X2UzICovCnAuWmlmZmVyRTMKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1y -aWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsK -CWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJf -WmlmZmVyX21pdF9CZXRyYWcgKi8KcC5aaWZmZXJNaXRCZXRyYWcKewoJbWFyZ2lu -LXRvcDowY207CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207 -CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7CglwdW5jdHVh -dGlvbi13cmFwOnNpbXBsZTsKCXRleHQtYXV0b3NwYWNlOm5vbmU7Cglmb250LXNp -emU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8q -IEZvcm1hdHZvcmxhZ2U6IDUyYVRfWmlmZmVyX21pdF9CZXRyYWdfVEdVRSAqLwpw -LlppZmZlck1pdEJldHJhZ1RHVUUKewoJbWFyZ2luLXRvcDowY207CgltYXJnaW4t -cmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207 -CglsaW5lLWhlaWdodDoxMS4wcHQ7CglwdW5jdHVhdGlvbi13cmFwOnNpbXBsZTsK -CXRleHQtYXV0b3NwYWNlOm5vbmU7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDUz -X0xpdGVyYV9lMSAqLwpwLkxpdGVyYUUxCnsKCW1hcmdpbi10b3A6Mi4wcHQ7Cglt -YXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVm -dDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1hdHZvcmxh -Z2U6IDUzX0xpdGVyYV9lMiAqLwpwLkxpdGVyYUUyCnsKCW1hcmdpbi10b3A6Mi4w -cHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJn -aW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6MTAu -MHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1h -dHZvcmxhZ2U6IDUzX0xpdGVyYV9lMyAqLwpwLkxpdGVyYUUzCnsKCW1hcmdpbi10 -b3A6Mi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207 -CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNp -emU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8q -IEZvcm1hdHZvcmxhZ2U6IDUzX0xpdGVyYV9taXRfQmV0cmFnICovCnAuTGl0ZXJh -TWl0QmV0cmFnCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJcHVuY3R1YXRpb24td3JhcDpzaW1wbGU7Cgl0ZXh0LWF1dG9z -cGFjZTpub25lOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1M2FUX0xpdGVyYV9t -aXRfQmV0cmFnX1RHVUUgKi8KcC5MaXRlcmFNaXRCZXRyYWdUR1VFCnsKCW1hcmdp -bi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNt -OwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJcHVuY3R1 -YXRpb24td3JhcDpzaW1wbGU7Cgl0ZXh0LWF1dG9zcGFjZTpub25lOwoJZm9udC1z -aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9Cgov -KiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJsaXRlcmFfZTEgKi8KcC5TdWJsaXRlcmFF -MQp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdp -bi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEu -MHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJsaXRlcmFfZTIgKi8K -cC5TdWJsaXRlcmFFMgp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0 -OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGlu -ZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJs -aXRlcmFfZTMgKi8KcC5TdWJsaXRlcmFFMwp7CgltYXJnaW4tdG9wOjIuMHB0OwoJ -bWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxl -ZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsK -CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3Js -YWdlOiA1NF9TdWJsaXRlcmFfbWl0X0JldHJhZyAqLwpwLlN1YmxpdGVyYU1pdEJl -dHJhZwp7CgltYXJnaW4tdG9wOjBjbTsKCW1hcmdpbi1yaWdodDowY207CgltYXJn -aW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjEx -LjBwdDsKCXB1bmN0dWF0aW9uLXdyYXA6c2ltcGxlOwoJdGV4dC1hdXRvc3BhY2U6 -bm9uZTsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTRhVF9TdWJsaXRlcmFfbWl0 -X0JldHJhZ19UR1VFICovCnAuU3VibGl0ZXJhTWl0QmV0cmFnVEdVRQp7CgltYXJn -aW4tdG9wOjBjbTsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBj -bTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCXB1bmN0 -dWF0aW9uLXdyYXA6c2ltcGxlOwoJdGV4dC1hdXRvc3BhY2U6bm9uZTsKCWZvbnQt -c2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoK -LyogRm9ybWF0dm9ybGFnZTogNTRhX1N0cmljaF9lMSAqLwpwLlN0cmljaEUxCnsK -CW1hcmdpbi10b3A6Mi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJv -dHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7 -Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDU0YV9TdHJpY2hfZTIgKi8KcC5TdHJp -Y2hFMgp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1h -cmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NGFfU3RyaWNoX2UzICov -CnAuU3RyaWNoRTMKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUt -aGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTRhX1N0cmlj -aF9lNCAqLwpwLlN0cmljaEU0CnsKCW1hcmdpbi10b3A6Mi4wcHQ7CgltYXJnaW4t -cmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207 -CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDU0 -YV9TdHJpY2hfZTUgKi8KcC5TdHJpY2hFNQp7CgltYXJnaW4tdG9wOjIuMHB0OwoJ -bWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxl -ZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsK -CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3Js -YWdlOiA1NGFfU3RyaWNoX2U2ICovCnAuU3RyaWNoRTYKewoJbWFyZ2luLXRvcDoy -LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1h -cmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZTox -MC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9yOmJs -YWNrOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NGFfU3RyaWNoX2U3ICovCnAuU3Ry -aWNoRTcKCXsKCW1hcmdpbi10b3A6Mi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJ -bWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdo -dDoxMS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTog -NTVfU2NobHVzc3RlaWxBYnMgKi8KcC5TY2hsdXNzdGVpbEFicwp7CgltYXJnaW46 -MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdl -OiA1Nl9TY2hsdXNzdGVpbFppZmYgKi8KcC5TY2hsdXNzdGVpbFppZmYKewoJbWFy -Z2luOjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7 -Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9y -bGFnZTogNTdfU2NobHVzc3RlaWxMaXQgKi8KcC5TY2hsdXNzdGVpbExpdAp7Cglt -YXJnaW46MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBw -dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2 -b3JsYWdlOiA2MV9UYWJUZXh0ICovCnAuVGFiVGV4dAp7CgltYXJnaW46MGNtOwoJ -bGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1h -dHZvcmxhZ2U6IDYxYV9UYWJUZXh0UmVjaHRzYiAqLwpwLlRhYlRleHRSZWNodHNi -CnsKCW1hcmdpbjowY207Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDYx -Yl9UYWJUZXh0WmVudHJpZXJ0ICovCnAuVGFiVGV4dFplbnRyaWVydAp7CgltYXJn -aW46MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7 -Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogNjFjX1RhYlRl -eHRCbG9jayAqLwpwLlRhYlRleHRCbG9jawp7CgltYXJnaW46MGNtOwoJdGV4dC1h -bGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEw -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6Ymxh -Y2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDYyX0tvcGZ6ZWlsZSAqLwpwLktvcGZ6 -ZWlsZQp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1h -cmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpq -dXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsK -CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6ICNDMEMwQzA7 -Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDYzX0Z1w596ZWlsZSAqLwpwLkZ1c3N6ZWls -ZQp7CgltYXJnaW4tdG9wOjEwLjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJn -aW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246anVz -dGlmeTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZTo5LjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6ICNDMEMwQzA7Cn0K -Ci8qIEZvcm1hdHZvcmxhZ2U6IDY0X0ZOX0xpbmllICovCnAuRk5MaW5pZQp7Cglt -YXJnaW4tdG9wOjExLjBwdDsKCW1hcmdpbi1yaWdodDoxMy4wY207CgltYXJnaW4t -Ym90dG9tOjEuMHB0OwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEu -MHB0OwoJcGFkZGluZzowY207Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKCWJvcmRlci1ib3R0 -b20tc3R5bGU6IHNvbGlkOwoJYm9yZGVyLWJvdHRvbS1jb2xvcjogR3JheTsKCWJv -cmRlci1ib3R0b20td2lkdGg6IDFweDsKfQoKLyogRm9ybWF0dm9ybGFnZTogNjVf -Rk5fVGV4dCAqLwpwLkZOVGV4dAp7CgltYXJnaW46MGNtOwoJdGV4dC1hbGlnbjpq -dXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjkuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoK -LyogRm9ybWF0dm9ybGFnZTogNjZfRk5fWmVpY2hlbiAqLwpzcGFuLkZOWmVpY2hl -bgp7Cgl2ZXJ0aWNhbC1hbGlnbjpzdXBlcjsKfQoKLyogRm9ybWF0dm9ybGFnZTog -NjhfVW50ZXJzY2hyTCAqLwpwLlVudGVyc2NockwKewoJbWFyZ2luLXRvcDo4LjBw -dDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdp -bi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246bGVmdDsKCWxpbmUtaGVpZ2h0OjExLjBw -dDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjsKCWNvbG9yOmJsYWNrOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9y -bWF0dm9ybGFnZTogNjlfVW50ZXJzY2hyTSAqLwpwLlVudGVyc2Nock0KewoJbWFy -Z2luLXRvcDo4LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9t -OjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGlu -ZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250LXdlaWdodDpi -b2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA3MV9BbmxhZ2VuYmV6ICovCnAuQW5s -YWdlbmJlegp7CgltYXJnaW4tdG9wOjguMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGln -bjpyaWdodDsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMS4wcHQ7 -Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9yOmJsYWNrOwoJ -Zm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogODFfRXJsVWVi -ZXJzY2hyWiAqLwpwLkVybFVlYmVyc2NocloKewoJbWFyZ2luLXRvcDoxNi4wcHQ7 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4t -bGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjExLjBw -dDsKCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Cglmb250LXNpemU6MTEuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKCWZv -bnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDgyX0VybFVlYmVy -c2NockwgKi8KcC5FcmxVZWJlcnNjaHJMCnsKCW1hcmdpbi10b3A6NC4wcHQ7Cglt -YXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVm -dDowY207Cgl0ZXh0LWFsaWduOmp1c3RpZnk7CglsaW5lLWhlaWdodDoxMS4wcHQ7 -CglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250 -LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA4M19FcmxUZXh0ICov -CnAuRXJsVGV4dAp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBj -bTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1h -bGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEw -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3Jt -YXR2b3JsYWdlOiA4NV9FcmxBdWZ6YWVobGcgLSBub2NoIG5pY2h0IGZlcnRpZyAq -LwpwLkVybEF1ZnphZWhsZwp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJp -Z2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJ -dGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1z -aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29s -b3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDg5X1RHVUVfVWViZXJzY2hy -U3BhbHRlKi8KcC5UR1VFVWViZXJzY2hyU3BhbHRlCnsKCW1hcmdpbi10b3A6NC4w -cHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJn -aW4tbGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjEx -LjBwdDsKCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Cglmb250LXNpemU6MTAuMHB0 -OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsK -CWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qIEZvcm1h -dHZvcmxhZ2VuIGZ1ZXIgWmVpY2hlbmZvcm1hdGllcnVuZyAgICAgICAgICAgICAg -ICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKiBGb3JtYXR2b3JsYWdlOiA5 -OTBfRmVobGVyICovCnNwYW4uRmVobGVyCnsKCWNvbG9yOiByZWQ7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDk5MV9HbGRTeW1ib2wgKi8Kc3Bhbi5HbGRTeW1ib2wKewoJ -Zm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogOTkyX05vcm1h -bCAqLwpzcGFuLk5vcm1hbAp7Cglmb250LXN0eWxlOiBub3JtYWw7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDk5M19GZXR0ICovCnNwYW4uRmV0dAp7Cglmb250LXdlaWdo -dDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA5OTRfS3Vyc2l2ICovCnNwYW4u -S3Vyc2l2CnsKCWZvbnQtc3R5bGU6aXRhbGljOwp9CgovKiBGb3JtYXR2b3JsYWdl -OiA5OTVfVW50ZXJzdHJpY2hlbiAqLwpzcGFuLlVudGVyc3RyaWNoZW4KewoJdGV4 -dC1kZWNvcmF0aW9uOnVuZGVybGluZTsKfQoKLyogRm9ybWF0dm9ybGFnZTogOTk2 -X0dlc3BlcnJ0ICovCnNwYW4uR2VzcGVycnQKewoJbGV0dGVyLXNwYWNpbmc6MS4z -cHQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDk5N19Ib2NoICovCnNwYW4uSG9jaAp7 -Cglmb250LXNpemU6IDUwJTsKCXZlcnRpY2FsLWFsaWduOnN1cGVyOwp9CgovKiBG -b3JtYXR2b3JsYWdlOiA5OThfVGllZiAqLwpzcGFuLlRpZWYKewoJZm9udC1zaXpl -OiA1MCU7Cgl2ZXJ0aWNhbC1hbGlnbjpzdWI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6 -IDk5OV9GZXR0X3VuZF9LdXJzaXYgKi8Kc3Bhbi5GZXR0dW5kS3Vyc2l2CnsKCWZv -bnQtd2VpZ2h0OmJvbGQ7Cglmb250LXN0eWxlOml0YWxpYzsKfQoKLyogU3RhbmRh -cmR0YWJzY2hyaXR0d2VpdGUgYXVzIFdvcmQgKi8Kc3Bhbi5TdGFuZGFyZHRhYnVs -YXRvcgp7Cgl3aWR0aDozNS40NXB0Owp9CgovKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBG -b3JtYXR2b3JsYWdlbiBkZXIgUGFybGFtZW50c2RpcmVrdGlvbiAgICAgICAgICAg -ICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKcC5QRF9BbGxvbmdlLCBs -aS5QRF9BbGxvbmdlLCBkaXYuUERfQWxsb25nZQp7CgltYXJnaW4tdG9wOjE0LjBw -dDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjEwLjBwdDsKCW1h -cmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC1zaXplOjE0 -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbGF5b3V0LWdy -aWQtbW9kZTpsaW5lOwp9CgpwLlBEX0FsbG9uZ2VCLCBsaS5QRF9BbGxvbmdlQiwg -ZGl2LlBEX0FsbG9uZ2VCCnsKCW1hcmdpbi10b3A6MTQuMHB0OwoJbWFyZ2luLXJp -Z2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MTAuMHB0OwoJbWFyZ2luLWxlZnQ6MGNt -OwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJZm9udC1zaXplOjE0LjBwdDsKCWZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbGF5b3V0LWdyaWQtbW9kZTpsaW5l -Owp9CgpwLlBEX0FsbG9uZ2VMLCBsaS5QRF9BbGxvbmdlTCwgZGl2LlBEX0FsbG9u -Z2VMCnsKCW1hcmdpbi10b3A6MTQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1h -cmdpbi1ib3R0b206MTAuMHB0OwoJbWFyZ2luLWxlZnQ6MGNtOwoJZm9udC1zaXpl -OjE0LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbGF5b3V0 -LWdyaWQtbW9kZTpsaW5lOwp9CgpwLlBEX0FudHJhZ3Nmb3JtZWwsIGxpLlBEX0Fu -dHJhZ3Nmb3JtZWwsIGRpdi5QRF9BbnRyYWdzZm9ybWVsCnsKCW1hcmdpbi10b3A6 -MTQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iOwoJbGF5b3V0LWdyaWQtbW9kZTpsaW5lOwp9CgpwLlBEX0Rh -dHVtLCBsaS5QRF9EYXR1bSwgZGl2LlBEX0RhdHVtCnsKCW1hcmdpbi10b3A6MTQu -MHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFy -Z2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwoJbGF5b3V0LWdyaWQtbW9kZTpsaW5lOwp9CgpwLlBEX0VudHNj -aGxpZXNzdW5nLCBsaS5QRF9FbnRzY2hsaWVzc3VuZywgZGl2LlBEX0VudHNjaGxp -ZXNzdW5nCnsKCW1hcmdpbi10b3A6OC4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJ -bWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdo -dDoxMS4wcHQ7Cglmb250LXNpemU6MTEuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7CglsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7Cglmb250LXdlaWdo -dDpib2xkOwp9CgpwLlBEX0sxLCBsaS5QRF9LMSwgZGl2LlBEX0sxCnsKCW1hcmdp -bjowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlcjpub25lOwoJcGFkZGlu -ZzowY207Cglmb250LXNpemU6MTIuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7CglsZXR0ZXItc3BhY2luZzotLjRwdDsKCWZvbnQtd2VpZ2h0OmJv -bGQ7Cn0KCnAuUERfSzFBbmxhZ2UsIGxpLlBEX0sxQW5sYWdlLCBkaXYuUERfSzFB -bmxhZ2UKewoJbWFyZ2luOjBjbTsKCXRleHQtYWxpZ246cmlnaHQ7Cglmb250LXNp -emU6MTIuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7CglsZXR0 -ZXItc3BhY2luZzotLjRwdDsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCnAuUERfSzFB -dXNnLCBsaS5QRF9LMUF1c2csIGRpdi5QRF9LMUF1c2cKewoJbWFyZ2luLXRvcDo2 -Mi45cHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbToyNy4wcHQ7 -CgltYXJnaW4tbGVmdDowY207Cglmb250LXNpemU6MTEuMHB0OwoJZm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Cglmb250LXdlaWdodDpib2xkOwp9CgpwLlBE -X0syLCBsaS5QRF9LMiwgZGl2LlBEX0syCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFy -Z2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MTEuMzVwdDsKCW1hcmdpbi1s -ZWZ0OjBjbTsKCWZvbnQtc2l6ZToyMi4wcHQ7Cglmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCnAuUERfSzMsIGxpLlBE -X0szLCBkaXYuUERfSzMKewoJbWFyZ2luLXRvcDowY207CgltYXJnaW4tcmlnaHQ6 -MGNtOwoJbWFyZ2luLWJvdHRvbToyMC4wcHQ7CgltYXJnaW4tbGVmdDowY207Cglm -b250LXNpemU6MTguMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7 -Cglmb250LXdlaWdodDpib2xkOwp9CgpwLlBEX0s0LCBsaS5QRF9LNCwgZGl2LlBE -X0s0CnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdp -bi1ib3R0b206Ni4wcHQ7CgltYXJnaW4tbGVmdDowY207Cglmb250LXNpemU6MTMu -MHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cglmb250LXdlaWdo -dDpib2xkOwp9CgpwLlBEX0tvcGZ6ZWlsZSwgbGkuUERfS29wZnplaWxlLCBkaXYu -UERfS29wZnplaWxlCnsKCW1hcmdpbi10b3A6NC4wcHQ7CgltYXJnaW4tcmlnaHQ6 -MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207Cgl0ZXh0 -LWFsaWduOmp1c3RpZnk7CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6 -MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7CglsYXlvdXQt -Z3JpZC1tb2RlOmxpbmU7Cn0KCnAuUERfVTEsIGxpLlBEX1UxLCBkaXYuUERfVTEK -ewoJbWFyZ2luLXRvcDoyMi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2lu -LWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4w -cHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7Cglmb250LXdlaWdodDpib2xkOwp9CgpwLlBEX1UyLCBsaS5QRF9VMiwg -ZGl2LlBEX1UyCnsKCW1hcmdpbi10b3A6NS4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNt -OwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhl -aWdodDoxMS4wcHQ7Cglmb250LXNpemU6OS4wcHQ7Cglmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjsKfQoKcC5QRF9Wb3JsYWdlLCBsaS5QRF9Wb3JsYWdlLCBk -aXYuUERfVm9ybGFnZQp7CgltYXJnaW4tdG9wOjBjbTsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjEwLjBwdDsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRl -eHQtYWxpZ246anVzdGlmeTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6 -ZToxMS4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWxheW91 -dC1ncmlkLW1vZGU6bGluZTsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KPC9zdHlsZT4K -PC9oZWFkPgo8Ym9keT4KPGRpdiBjbGFzcz0icGFwZXJ3Ij4KCgoKCjxwIGNsYXNz -PSJCREdlc0JsYXR0Ij5CVU5ERVNHRVNFVFpCTEFUVDwvcD4KPHAgY2xhc3M9IlJl -cE9lc3RlcnIiPkbDnFIgRElFIFJFUFVCTElLIMOWU1RFUlJFSUNIPC9wPgo8dGFi -bGUgY2xhc3M9InRvcCBib3R0b20gd2kxMDAiPgo8dHI+Cjx0ZD4KPHAgY2xhc3M9 -IkF1c2dhYmVEYXRlbiBBbGlnbkxlZnQiPkphaHJnYW5nIDIwMDQgPC9wPgo8L3Rk -Pgo8dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0ZW4gQWxpZ25DZW50ZXIiPkF1c2dl -Z2ViZW4gYW0gMzAuIEF1Z3VzdCAyMDA0IDwvcD4KPC90ZD4KPHRkPgo8cCBjbGFz -cz0iQXVzZ2FiZURhdGVuIEFsaWduUmlnaHQiPlRlaWwgSUk8L3A+CjwvdGQ+Cjwv -dHI+CjwvdGFibGU+Cjx0YWJsZSBjbGFzcz0iYm90dG9tIHdpMTAwIj4KPHRyPgo8 -dGQ+CjxwIGNsYXNzPSJLdXJ6dGl0ZWwyIEFsaWduTGVmdCBWQWxpZ25Ub3AiPgo8 -c3BhbiBjbGFzcz0iS3VyenRpdGVsYnJlaXRlIj4zNDEuIFZlcm9yZG51bmc6PC9z -cGFuPgo8L3A+CjwvdGQ+Cjx0ZD4KPHAgY2xhc3M9Ikt1cnp0aXRlbDIgQWxpZ25M -ZWZ0Ij7DhG5kZXJ1bmcgZGVyIEFsdGxhc3RlbmF0bGFzLVZPPC9wPgo8L3RkPgo8 -L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iVGl0ZWwiPjM0MS4gVmVyb3JkbnVuZyBk -ZXMgQnVuZGVzbWluaXN0ZXJzIGbDvHIgTGFuZC0gdW5kIEZvcnN0d2lydHNjaGFm -dCwgVW13ZWx0IHVuZCBXYXNzZXJ3aXJ0c2NoYWZ0LCBtaXQgZGVyIGRpZSBBbHRs -YXN0ZW5hdGxhcy1WTyBnZcOkbmRlcnQgd2lyZDwvcD4KPHAgY2xhc3M9IlByb21L -bEVpbmxTYXR6Ij5BdWYgR3J1bmQgZGVyIMKnwqfCoDEzIHVuZCAxNCBkZXMgQWx0 -bGFzdGVuc2FuaWVydW5nc2dlc2V0emVzLCBCR0JsLiBOci7CoDI5OS8xOTg5LCBp -biBkZXIgRmFzc3VuZyBkZXMgQnVuZGVzZ2VzZXR6ZXMgQkdCbC7CoEkgTnIuwqA3 -MS8yMDAzLCB3aXJkIHZlcm9yZG5ldDo8L3A+CjxwIGNsYXNzPSJQcm9tS2xFaW5s -U2F0eiI+RGllIEFsdGxhc3RlbmF0bGFzLVZPLCBCR0JsLsKgSUkgTnIuwqAyMzIv -MjAwNCwgd2lyZCB3aWUgZm9sZ3QgZ2XDpG5kZXJ0OjwvcD4KPHAgY2xhc3M9Ik5v -dkFvMSI+MS4gRGVyIGJpc2hlcmlnZSBUZXh0IGRlcyDCp8KgMiBlcmjDpGx0IGRp -ZSBBYnNhdHpiZXplaWNobnVuZyDigJ4oMSnigJwgdW5kIGZvbGdlbmRlciBBYnMu -wqAyIHdpcmQgYW5nZWbDvGd0OjwvcD4KPHAgY2xhc3M9IkFicyI+CuKAnigyKSBE -aWUgQW5ow6RuZ2XCoDMgdW5kIMKgNCBpbiBkZXIgRmFzc3VuZyBkZXIgVmVyb3Jk -bnVuZyBCR0JsLsKgSUkgTnIuwqAzNDEvMjAwNCB0cmV0ZW4gbWl0IDE1LsKgU2Vw -dGVtYmVyIDIwMDQgaW4gS3JhZnQu4oCcCjwvcD4KPHAgY2xhc3M9Ik5vdkFvMSI+ -Mi4gSW0gQW5oYW5nIDMgd2lyZCBmb2xnZW5kZXIgRWludHJhZyBBTFRMQVNUIE41 -NCBhbmdlZsO8Z3Q6PC9wPgo8dGFibGUgY2xhc3M9Ik4xMDBDMCI+Cjx0cj4KPHRk -IGNsYXNzPSJOMTAwQzkiIGNvbHNwYW49IjIiPgo8cCBjbGFzcz0iRXJsVWViZXJz -Y2hyTCI+CuKAnkFMVExBU1QgTjU0OiBCZWl6c2NobGFtbWRlcG9uaWUgVGVybml0 -ejwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDBEOSI+CjxwIGNs -YXNzPSJUYWJUZXh0UmVjaHRzYiI+QmV6aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRl -eHRSZWNodHNiIj5HZW1laW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRz -YiI+S2F0YXN0cmFsZ2VtZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0 -c2IiPkdydW5kc3TDvGNrc251bW1lcm46PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4x -MDBFRiI+CjxwIGNsYXNzPSJUYWJUZXh0Ij5OZXVua2lyY2hlbjwvcD4KPHAgY2xh -c3M9IlRhYlRleHQiPlRlcm5pdHo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5EdW5r -ZWxzdGVpbiAoMjMzMDMpPC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+NzM0LzE8L3A+ -CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxMDgiPgo8cCBjbGFzcz0i -VGFiVGV4dFJlY2h0c2IiPkFydCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBj -bGFzcz0iTjEwMTEyIj4KPHAgY2xhc3M9IlRhYlRleHQiPkFsdGFibGFnZXJ1bmc8 -L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxMUYiPgo8cCBjbGFz -cz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBBbHRsYXN0YXVzd2Vpc3VuZzo8 -L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMTI5Ij4KPHAgY2xhc3M9IlRhYlRleHQi -PjE1LjkuMjAwNDwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDEz -NiI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+UHJpb3JpdMOkdGVua2xhc3Nl -OjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAxNDAiPgo8cCBjbGFzcz0iVGFiVGV4 -dCI+MjwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDE0RCI+Cjxw -IGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+RGF0dW0gZGVyIFByaW9yaXTDpHRlbmts -YXNzaWZpemllcnVuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMTU3Ij4KPHAg -Y2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNOKAnAo8L3A+CjwvdGQ+CjwvdHI+Cjwv -dGFibGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+CjxwIGNsYXNzPSJOb3ZBbzEi -PjMuIEltIEFuaGFuZyA0IGxhdXRldCBkZXIgRWludHJhZyBBTFRMQVNUIE81MDo8 -L3A+Cjx0YWJsZSBjbGFzcz0iTjEwMTZCIj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDE3 -NCIgY29sc3Bhbj0iMiI+CjxwIGNsYXNzPSJFcmxVZWJlcnNjaHJMIj4K4oCeQUxU -TEFTVCBPNTA6IFNjaHdlbGxlbmltcHLDpGduaWVydW5nIFNjaG5lZWdhdHRlcm48 -L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxODQiPgo8cCBjbGFz -cz0iVGFiVGV4dFJlY2h0c2IiPkJlemlyazo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0 -UmVjaHRzYiI+R2VtZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2Ii -PkthdGFzdHJhbGdlbWVpbmRlOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNi -Ij5HcnVuZHN0w7xja3NudW1tZXJuOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAx -OUEiPgo8cCBjbGFzcz0iVGFiVGV4dCI+QnJhdW5hdSBhbSBJbm48L3A+CjxwIGNs -YXNzPSJUYWJUZXh0Ij5MZW5nYXU8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5LcmVu -d2FsZCAoNDAxMTQpPC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+NDcwLzEsIDUyMy81 -LCA2MDQvMywgOTU2LCA5ODUvNCwgOTg2Lzc8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4K -PHRkIGNsYXNzPSJOMTAxQjMiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFy -dCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMUJEIj4KPHAg -Y2xhc3M9IlRhYlRleHQiPkFsdHN0YW5kb3J0PC9wPgo8L3RkPgo8L3RyPgo8dHI+ -Cjx0ZCBjbGFzcz0iTjEwMUNBIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5E -YXR1bSBkZXIgQWx0bGFzdGF1c3dlaXN1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9 -Ik4xMDFENCI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4yMS44LjIwMDE8L3A+CjwvdGQ+ -CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxRTEiPgo8cCBjbGFzcz0iVGFiVGV4 -dFJlY2h0c2IiPlByaW9yaXTDpHRlbmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFz -cz0iTjEwMUVCIj4KPHAgY2xhc3M9IlRhYlRleHQiPjM8L3A+CjwvdGQ+CjwvdHI+ -Cjx0cj4KPHRkIGNsYXNzPSJOMTAxRjgiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0 -c2IiPkRhdHVtIGRlciBQcmlvcml0w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9wPgo8 -L3RkPgo8dGQgY2xhc3M9Ik4xMDIwMiI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4xNS45 -LjIwMDTigJwKPC9wPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iQWJz -dGFuZCI+PC9wPgo8cCBjbGFzcz0iTm92QW8xIj40LiBJbSBBbmhhbmcgNCBsYXV0 -ZW4gZGllIEVpbnRyw6RnZSBBTFRMQVNUIE82MCBiaXMgTzYyOjwvcD4KPHRhYmxl -IGNsYXNzPSJOMTAyMTYiPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMjFGIiBjb2xzcGFu -PSIyIj4KPHAgY2xhc3M9IkVybFVlYmVyc2NockwiPgrigJ5BTFRMQVNUIE82MDog -UHV0emVyZWkgRXhjbHVzaXYgU2Nod2FiPC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0 -ZCBjbGFzcz0iTjEwMjJGIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5CZXpp -cms6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdlbWVpbmRlOjwvcD4K -PHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5LYXRhc3RyYWxnZW1laW5kZTo8L3A+ -CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+R3J1bmRzdMO8Y2tzbnVtbWVybjo8 -L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMjQ1Ij4KPHAgY2xhc3M9IlRhYlRleHQi -Pkxpbno8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0i -VGFiVGV4dCI+VXJmYWhyICg0NTIxMik8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij4u -MzE4Lzc8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAyNUUiPgo8 -cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFydCBkZXIgQWx0bGFzdDo8L3A+Cjwv -dGQ+Cjx0ZCBjbGFzcz0iTjEwMjY4Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkFsdHN0 -YW5kb3J0PC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMjc1Ij4K -PHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5EYXR1bSBkZXIgQWx0bGFzdGF1c3dl -aXN1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDI3RiI+CjxwIGNsYXNzPSJU -YWJUZXh0Ij4yOS44LjIwMDM8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNz -PSJOMTAyOEMiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPlByaW9yaXTDpHRl -bmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMjk2Ij4KPHAgY2xhc3M9 -IlRhYlRleHQiPjE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAy -QTMiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBQcmlvcml0 -w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDJB -RCI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+CjwvdHI+ -CjwvdGFibGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+Cjx0YWJsZSBjbGFzcz0i -TjEwMkJCIj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDJDNCIgY29sc3Bhbj0iMiI+Cjxw -IGNsYXNzPSJFcmxVZWJlcnNjaHJMIj5BTFRMQVNUIE82MTogUHV0emVyZWkgU3rD -tnRzPC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMkQyIj4KPHAg -Y2xhc3M9IlRhYlRleHRSZWNodHNiIj5CZXppcms6PC9wPgo8cCBjbGFzcz0iVGFi -VGV4dFJlY2h0c2IiPkdlbWVpbmRlOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNo -dHNiIj5LYXRhc3RyYWxnZW1laW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVj -aHRzYiI+R3J1bmRzdMO8Y2tzbnVtbWVybjo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0i -TjEwMkU4Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkxpbno8L3A+CjxwIGNsYXNzPSJU -YWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+VXJmYWhyICg0NTIx -Mik8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij4uOTAwPC9wPgo8L3RkPgo8L3RyPgo8 -dHI+Cjx0ZCBjbGFzcz0iTjEwMzAxIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNi -Ij5BcnQgZGVyIEFsdGxhc3Q6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDMwQiI+ -CjxwIGNsYXNzPSJUYWJUZXh0Ij5BbHRzdGFuZG9ydDwvcD4KPC90ZD4KPC90cj4K -PHRyPgo8dGQgY2xhc3M9Ik4xMDMxOCI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRz -YiI+RGF0dW0gZGVyIEFsdGxhc3RhdXN3ZWlzdW5nOjwvcD4KPC90ZD4KPHRkIGNs -YXNzPSJOMTAzMjIiPgo8cCBjbGFzcz0iVGFiVGV4dCI+MTUuOS4yMDAzPC9wPgo8 -L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMzJGIj4KPHAgY2xhc3M9IlRh -YlRleHRSZWNodHNiIj5Qcmlvcml0w6R0ZW5rbGFzc2U6PC9wPgo8L3RkPgo8dGQg -Y2xhc3M9Ik4xMDMzOSI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4yPC9wPgo8L3RkPgo8 -L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMzQ2Ij4KPHAgY2xhc3M9IlRhYlRleHRS -ZWNodHNiIj5EYXR1bSBkZXIgUHJpb3JpdMOkdGVua2xhc3NpZml6aWVydW5nOjwv -cD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAzNTAiPgo8cCBjbGFzcz0iVGFiVGV4dCI+ -MTUuOS4yMDA0PC9wPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iQWJz -dGFuZCI+PC9wPgo8dGFibGUgY2xhc3M9Ik4xMDM1RSI+Cjx0cj4KPHRkIGNsYXNz -PSJOMTAzNjciIGNvbHNwYW49IjIiPgo8cCBjbGFzcz0iRXJsVWViZXJzY2hyTCI+ -QUxUTEFTVCBPNjI6IFB1dHplcmVpIFNjaHdhYi1Ob3JnZTwvcD4KPC90ZD4KPC90 -cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDM3NSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVj -aHRzYiI+QmV6aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5HZW1l -aW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+S2F0YXN0cmFsZ2Vt -ZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdydW5kc3TDvGNr -c251bW1lcm46PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDM4QiI+CjxwIGNsYXNz -PSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+TGluejwvcD4K -PHAgY2xhc3M9IlRhYlRleHQiPlVyZmFociAoNDUyMTIpPC9wPgo8cCBjbGFzcz0i -VGFiVGV4dCI+LjQ2NjwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4x -MDNBNCI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+QXJ0IGRlciBBbHRsYXN0 -OjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAzQUUiPgo8cCBjbGFzcz0iVGFiVGV4 -dCI+QWx0c3RhbmRvcnQ8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJO -MTAzQkIiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBBbHRs -YXN0YXVzd2Vpc3VuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwM0M1Ij4KPHAg -Y2xhc3M9IlRhYlRleHQiPjEwLjkuMjAwMzwvcD4KPC90ZD4KPC90cj4KPHRyPgo8 -dGQgY2xhc3M9Ik4xMDNEMiI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+UHJp -b3JpdMOkdGVua2xhc3NlOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAzREMiPgo8 -cCBjbGFzcz0iVGFiVGV4dCI+MTwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xh -c3M9Ik4xMDNFOSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+RGF0dW0gZGVy -IFByaW9yaXTDpHRlbmtsYXNzaWZpemllcnVuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFz -cz0iTjEwM0YzIj4KPHAgY2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNOKAnAo8L3A+ -CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+Cjxw -IGNsYXNzPSJOb3ZBbzEiPjUuIEltIEFuaGFuZyA0IGxhdXRldCBkZXIgRWludHJh -ZyBBTFRMQVNUIE82NDo8L3A+Cjx0YWJsZSBjbGFzcz0iTjEwNDA3Ij4KPHRyPgo8 -dGQgY2xhc3M9Ik4xMDQxMCIgY29sc3Bhbj0iMiI+CjxwIGNsYXNzPSJFcmxVZWJl -cnNjaHJMIj4K4oCeQUxUTEFTVCBPNjQ6IEtpdHptYW50ZWw8L3A+CjwvdGQ+Cjwv -dHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA0MjAiPgo8cCBjbGFzcz0iVGFiVGV4dFJl -Y2h0c2IiPkJlemlyazo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+R2Vt -ZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkthdGFzdHJhbGdl -bWVpbmRlOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5HcnVuZHN0w7xj -a3NudW1tZXJuOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTA0MzYiPgo8cCBjbGFz -cz0iVGFiVGV4dCI+R211bmRlbjwvcD4KPHAgY2xhc3M9IlRhYlRleHQiPlZvcmNo -ZG9yZjwvcD4KPHAgY2xhc3M9IlRhYlRleHQiPlZvcmNoZG9yZiAoNDIxNjQpPC9w -Pgo8cCBjbGFzcz0iVGFiVGV4dCI+Mzc2LzE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4K -PHRkIGNsYXNzPSJOMTA0NEYiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFy -dCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNDU5Ij4KPHAg -Y2xhc3M9IlRhYlRleHQiPkFsdGFibGFnZXJ1bmc8L3A+CjwvdGQ+CjwvdHI+Cjx0 -cj4KPHRkIGNsYXNzPSJOMTA0NjYiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2Ii -PkRhdHVtIGRlciBBbHRsYXN0YXVzd2Vpc3VuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFz -cz0iTjEwNDcwIj4KPHAgY2xhc3M9IlRhYlRleHQiPjI1LjEyLjIwMDM8L3A+Cjwv -dGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA0N0QiPgo8cCBjbGFzcz0iVGFi -VGV4dFJlY2h0c2IiPlByaW9yaXTDpHRlbmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBj -bGFzcz0iTjEwNDg3Ij4KPHAgY2xhc3M9IlRhYlRleHQiPjM8L3A+CjwvdGQ+Cjwv -dHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA0OTQiPgo8cCBjbGFzcz0iVGFiVGV4dFJl -Y2h0c2IiPkRhdHVtIGRlciBQcmlvcml0w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9w -Pgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDQ5RSI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4x -NS45LjIwMDTigJwKPC9wPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0i -QWJzdGFuZCI+PC9wPgo8cCBjbGFzcz0iTm92QW8xIj42LiBJbSBBbmhhbmcgNCB3 -ZXJkZW4gZm9sZ2VuZGUgRWludHLDpGdlIEFMVExBU1QgTzY1IGJpcyBPNjcgYW5n -ZWbDvGd0OjwvcD4KPHRhYmxlIGNsYXNzPSJOMTA0QjIiPgo8dHI+Cjx0ZCBjbGFz -cz0iTjEwNEJCIiBjb2xzcGFuPSIyIj4KPHAgY2xhc3M9IkVybFVlYmVyc2Nockwi -PgrigJ5BTFRMQVNUIE82NTogUmFwcGVyc2JlcmdlciBDaGVtaWthbGllbjwvcD4K -PC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDRDQiI+CjxwIGNsYXNzPSJU -YWJUZXh0UmVjaHRzYiI+QmV6aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNo -dHNiIj5HZW1laW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+S2F0 -YXN0cmFsZ2VtZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdy -dW5kc3TDvGNrc251bW1lcm46PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDRFMSI+ -CjxwIGNsYXNzPSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+ -TGluejwvcD4KPHAgY2xhc3M9IlRhYlRleHQiPlVyZmFociAoNDUyMTIpPC9wPgo8 -cCBjbGFzcz0iVGFiVGV4dCI+NDgyLzE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRk -IGNsYXNzPSJOMTA0RkEiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFydCBk -ZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNTA0Ij4KPHAgY2xh -c3M9IlRhYlRleHQiPkFsdHN0YW5kb3J0PC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0 -ZCBjbGFzcz0iTjEwNTExIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5EYXR1 -bSBkZXIgQWx0bGFzdGF1c3dlaXN1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4x -MDUxQiI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+Cjwv -dHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1MjgiPgo8cCBjbGFzcz0iVGFiVGV4dFJl -Y2h0c2IiPlByaW9yaXTDpHRlbmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0i -TjEwNTMyIj4KPHAgY2xhc3M9IlRhYlRleHQiPi08L3A+CjwvdGQ+CjwvdHI+Cjx0 -cj4KPHRkIGNsYXNzPSJOMTA1M0YiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2Ii -PkRhdHVtIGRlciBQcmlvcml0w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9wPgo8L3Rk -Pgo8dGQgY2xhc3M9Ik4xMDU0OSI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4tPC9wPgo8 -L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iQWJzdGFuZCI+PC9wPgo8dGFi -bGUgY2xhc3M9Ik4xMDU1NyI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1NjAiIGNvbHNw -YW49IjIiPgo8cCBjbGFzcz0iRXJsVWViZXJzY2hyTCI+QUxUTEFTVCBPNjY6IFB1 -dHplcmVpIEvDpGZlcmLDtmNrPC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFz -cz0iTjEwNTZFIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5CZXppcms6PC9w -Pgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdlbWVpbmRlOjwvcD4KPHAgY2xh -c3M9IlRhYlRleHRSZWNodHNiIj5LYXRhc3RyYWxnZW1laW5kZTo8L3A+CjxwIGNs -YXNzPSJUYWJUZXh0UmVjaHRzYiI+R3J1bmRzdMO8Y2tzbnVtbWVybjo8L3A+Cjwv -dGQ+Cjx0ZCBjbGFzcz0iTjEwNTg0Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkxpbno8 -L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4 -dCI+VXJmYWhyICg0NTIxMik8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij4uMzcyLzI8 -L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1OUQiPgo8cCBjbGFz -cz0iVGFiVGV4dFJlY2h0c2IiPkFydCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0 -ZCBjbGFzcz0iTjEwNUE3Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkFsdHN0YW5kb3J0 -PC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwNUI0Ij4KPHAgY2xh -c3M9IlRhYlRleHRSZWNodHNiIj5EYXR1bSBkZXIgQWx0bGFzdGF1c3dlaXN1bmc6 -PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDVCRSI+CjxwIGNsYXNzPSJUYWJUZXh0 -Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1 -Q0IiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPlByaW9yaXTDpHRlbmtsYXNz -ZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNUQ1Ij4KPHAgY2xhc3M9IlRhYlRl -eHQiPjE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1RTIiPgo8 -cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBQcmlvcml0w6R0ZW5r -bGFzc2lmaXppZXJ1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDVFQyI+Cjxw -IGNsYXNzPSJUYWJUZXh0Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+CjwvdHI+CjwvdGFi -bGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+Cjx0YWJsZSBjbGFzcz0iTjEwNUZB -Ij4KPHRyPgo8dGQgY2xhc3M9Ik4xMDYwMyIgY29sc3Bhbj0iMiI+CjxwIGNsYXNz -PSJFcmxVZWJlcnNjaHJMIj5BTFRMQVNUIE82NzogQlAtVGFua2xhZ2VyIExpbnog -MSBhbHQgLSBTY2hhZGVuc2ZhbGwgU0YyQTwvcD4KPC90ZD4KPC90cj4KPHRyPgo8 -dGQgY2xhc3M9Ik4xMDYxMSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+QmV6 -aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5HZW1laW5kZTo8L3A+ -CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+S2F0YXN0cmFsZ2VtZWluZGU6PC9w -Pgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdydW5kc3TDvGNrc251bW1lcm46 -PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDYyNyI+CjxwIGNsYXNzPSJUYWJUZXh0 -Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+TGluejwvcD4KPHAgY2xhc3M9 -IlRhYlRleHQiPkx1c3RlbmF1ICg0NTIwNCk8L3A+CjxwIGNsYXNzPSJUYWJUZXh0 -Ij4xNDg1LzIsIDE0ODUvODwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9 -Ik4xMDY0MCI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+QXJ0IGRlciBBbHRs -YXN0OjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTA2NEEiPgo8cCBjbGFzcz0iVGFi -VGV4dCI+QWx0c3RhbmRvcnQ8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNz -PSJOMTA2NTciPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBB -bHRsYXN0YXVzd2Vpc3VuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNjYxIj4K -PHAgY2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNDwvcD4KPC90ZD4KPC90cj4KPHRy -Pgo8dGQgY2xhc3M9Ik4xMDY2RSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+ -UHJpb3JpdMOkdGVua2xhc3NlOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTA2Nzgi -Pgo8cCBjbGFzcz0iVGFiVGV4dCI+MzwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQg -Y2xhc3M9Ik4xMDY4NSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+RGF0dW0g -ZGVyIFByaW9yaXTDpHRlbmtsYXNzaWZpemllcnVuZzo8L3A+CjwvdGQ+Cjx0ZCBj -bGFzcz0iTjEwNjhGIj4KPHAgY2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNOKAnAo8 -L3A+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxwIGNsYXNzPSJVbnRlcnNjaHJMIj5Q -csO2bGw8L3A+Cgo8cCBjbGFzcz0iRnVzc3plaWxlIj53d3cucmlzLmJrYS5ndi5h -dDwvcD4KPC9kaXY+CjwvYm9keT4KCjwvaHRtbD4=</sl11:Base64Content></sl11:HashInputData><sl11:SignatureCheck><sl11:Code>0</sl11:Code></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl11:Code>98</sl11:Code></sl11:SignatureManifestCheck><sl11:SignatureManifestCheck><sl11:Code>0</sl11:Code></sl11:SignatureManifestCheck><sl11:CertificateCheck><sl10:Code>1</sl10:Code></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse> diff --git a/spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.utf8.xml b/spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.utf8.xml deleted file mode 100644 index 866d96f85..000000000 --- a/spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.utf8.xml +++ /dev/null @@ -1,1166 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sl11:VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"><sl11:SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>21221</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt -IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw -b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt -MDEwHhcNMDMxMjEwMTcyMzA3WhcNMDYxMjEwMTcyMzA3WjCBnzELMAkGA1UEBhMC -QVQxWTBXBgNVBAoeUABCAHUAbgBkAGUAcwBrAGEAbgB6AGwAZQByAGEAbQB0ACAA -ZABlAHIAIABSAGUAcAB1AGIAbABpAGsAIADWAHMAdABlAHIAcgBlAGkAYwBoMRow -GAYDVQQLExFWZXJmYXNzdW5nc2RpZW5zdDEZMBcGA1UEAxMQQ2hyaXN0aWFuIFdy -ZWdhcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv7Z6w9XhQLoIxipExnL7 -go/rp5Leh/y0E8mjS7XKe4acgmb/+p7cyAIzDjSY4Jse4xz9cKb+0hrEyKJjvR61 -Tl4lJxQsdYan3rLqcruPlC0GRkAgiiRdLwvAaAUBqzYxzTjKvdZBdcnuY+S2Ad1Z -5N5zAF2XRzykcsmLRZvpvJ8CAwEAAaOCAacwggGjMAkGA1UdEwQCMAAwEQYDVR0O -BAoECEhNunRQSAFFMF0GA1UdIARWMFQwUgYHKigAEQEOATBHMEUGCCsGAQUFBwIB -FjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hc2lnbi1nb3Zlcm5tZW50 -LXNlcnZlci5wZGYwEwYDVR0jBAwwCoAITp5/1C/JHx8wfwYIKwYBBQUHAQEEczBx -MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRydXN0LmF0L29jc3AwRgYIKwYB -BQUHMAKGOmh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNpZ24tY29ycG9y -YXRlLWxpZ2h0LTAxYS5jcnQwDgYDVR0PAQH/BAQDAgeAMG4GA1UdHwRnMGUwY6Bh -oF+GXWxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1s -aWdodC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 -PzAOBgcqKAAKAQEBBAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFIWZVsrHNwZDSkE -44Cyc1cCJU49CrjsX7OPG43notq9JPRPMvbVAOrN3g0H8x2oOSYoxscKut1IqLxc -xUVKYuCZEQBj0FZTYLFIuK8//vPOwmTSTBKMjKZpkkxfdcM5JX+nGdJgfqndjqPw -e9lZ213EMIEfEf1Nfr5R0MNk1uCUg9diqEpDcUdVks2KN4/zQVuNRlGFgM+y8E2N -VFopTtCBhSj6nuxeIbpbEOmjuAfF5zoVAJg4nj4DKJC8oiaY+KR+817fXpHclzxd -f1s0aVpqdOf7Dc0FXjrCBGKpyjcN4Qj9zioy5J6awkiWDF9CQICxwt4TYB1lS8Vx -Z+ghQ0g=</dsig:X509Certificate><moa:PublicAuthority/></dsig:X509Data></sl11:SignerInfo><sl11:HashInputData PartOf="SignedInfo"><sl11:Base64Content>PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVh -ZD4KPHRpdGxlPmVSZWNodCBYSFRNTCAxLjEgRG9rdW1lbnQ8L3RpdGxlPgo8c3R5 -bGUgdHlwZT0idGV4dC9jc3MiPgogIAogICAgLk4xMDBDMCB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwMEM5IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTAwRDkgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -MEVGIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwMTA4IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDExMiB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDExRiB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTAxMjkgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAxMzYgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMTQwIHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMTREIHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDE1NyB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDE2QiB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwMTc0 -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAxODQgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMTlBIHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMUIzIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDFCRCB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDFD -QSB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAxRDQg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTAxRTEgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwMUVCIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwMUY4IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDIwMiB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDIxNiB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwMjFGIHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTAyMkYgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -MjQ1IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwMjVFIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDI2OCB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDI3NSB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTAyN0YgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAyOEMgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMjk2IHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMkEzIHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDJBRCB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDJCQiB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwMkM0 -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAyRDIgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMkU4IHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwMzAxIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDMwQiB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDMx -OCB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAzMjIg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTAzMkYgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwMzM5IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwMzQ2IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDM1MCB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDM1RSB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwMzY3IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTAzNzUgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -MzhCIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwM0E0IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDNBRSB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDNCQiB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTAzQzUgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTAzRDIgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwM0RDIHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwM0U5IHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDNGMyB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDQwNyB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwNDEw -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA0MjAgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNDM2IHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNDRGIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDQ1OSB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDQ2 -NiB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA0NzAg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTA0N0QgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwNDg3IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwNDk0IHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDQ5RSB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDRCMiB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwNEJCIHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTA0Q0IgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -NEUxIHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwNEZBIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDUwNCB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDUxMSB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTA1MUIgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA1MjggeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTMyIHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTNGIHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDU0OSB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogIAog -ICAgLk4xMDU1NyB7IHdpZHRoOjU2NzsgYm9yZGVyOjFweCBzb2xpZCBibGFjazsg -Ym9yZGVyLXNwYWNpbmc6MDsgcGFkZGluZzowO3dpZHRoOjE1LjBjbTtib3JkZXIt -Y29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyOm5vbmV9CiAgCiAgCiAgICAuTjEwNTYw -IHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTUuMGNtO2Jv -cmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1 -cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA1NkUgeyB3aWR0aDoyMDk7IHZlcnRp -Y2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0 -IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTg0IHsgd2lkdGg6MzU4OyB2ZXJ0aWNh -bC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRl -ci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw -dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoy -Ljg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNTlEIHsgd2lkdGg6 -MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44 -NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDVBNyB7IHdpZHRoOjM1 -ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6 -bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRv -d3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7 -IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDVC -NCB7IHdpZHRoOjIwOTsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7 -Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IGJvcmRlci10b3A6bm9uZTtw -YWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA1QkUg -eyB3aWR0aDozNTg7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoyNjguMjVwdDti -b3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpz -b2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0 -ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0K -ICAgIC5OMTA1Q0IgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0 -aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXIt -dG9wOm5vbmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAg -ICAuTjEwNUQ1IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6 -MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRl -ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s -aWQgd2luZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVw -dCAyLjg1cHR9CiAgICAuTjEwNUUyIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGln -bjp0b3A7d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBw -dDsgYm9yZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQg -Mi44NXB0fQogICAgLk4xMDVFQyB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246 -dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDog -bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVy -LXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIu -ODVwdCAyLjg1cHQgMi44NXB0fQogIAogICAgLk4xMDVGQSB7IHdpZHRoOjU2Nzsg -Ym9yZGVyOjFweCBzb2xpZCBibGFjazsgYm9yZGVyLXNwYWNpbmc6MDsgcGFkZGlu -ZzowO3dpZHRoOjE1LjBjbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVy -Om5vbmV9CiAgCiAgCiAgICAuTjEwNjAzIHsgd2lkdGg6NTY3OyB2ZXJ0aWNhbC1h -bGlnbjp0b3A7d2lkdGg6MTUuMGNtO2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEu -MHB0OyBwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5O -MTA2MTEgeyB3aWR0aDoyMDk7IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcu -MHB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5v -bmU7cGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEw -NjI3IHsgd2lkdGg6MzU4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1 -cHQ7Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0 -b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2lu -ZG93dGV4dCAxLjBwdDsgcGFkZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1 -cHR9CiAgICAuTjEwNjQwIHsgd2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7 -d2lkdGg6MTU3LjBwdDtib3JkZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9y -ZGVyLXRvcDpub25lO3BhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0 -fQogICAgLk4xMDY0QSB7IHdpZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dp -ZHRoOjI2OC4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTti -b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0 -OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAy -Ljg1cHQgMi44NXB0fQogICAgLk4xMDY1NyB7IHdpZHRoOjIwOTsgdmVydGljYWwt -YWxpZ246dG9wO3dpZHRoOjE1Ny4wcHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IGJvcmRlci10b3A6bm9uZTtwYWRkaW5nOjIuODVwdCAyLjg1cHQgMi44 -NXB0IDIuODVwdH0KICAgIC5OMTA2NjEgeyB3aWR0aDozNTg7IHZlcnRpY2FsLWFs -aWduOnRvcDt3aWR0aDoyNjguMjVwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl -ZnQ6IG5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O2Jv -cmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0OyBwYWRkaW5nOjIuODVw -dCAyLjg1cHQgMi44NXB0IDIuODVwdH0KICAgIC5OMTA2NkUgeyB3aWR0aDoyMDk7 -IHZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNTcuMHB0O2JvcmRlcjpzb2xpZCB3 -aW5kb3d0ZXh0IDEuMHB0OyBib3JkZXItdG9wOm5vbmU7cGFkZGluZzoyLjg1cHQg -Mi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNjc4IHsgd2lkdGg6MzU4OyB2 -ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MjY4LjI1cHQ7Ym9yZGVyLXRvcDpub25l -O2JvcmRlci1sZWZ0OiBub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4 -dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDsgcGFk -ZGluZzoyLjg1cHQgMi44NXB0IDIuODVwdCAyLjg1cHR9CiAgICAuTjEwNjg1IHsg -d2lkdGg6MjA5OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTU3LjBwdDtib3Jk -ZXI6c29saWQgd2luZG93dGV4dCAxLjBwdDsgYm9yZGVyLXRvcDpub25lO3BhZGRp -bmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAgLk4xMDY4RiB7IHdp -ZHRoOjM1ODsgdmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjI2OC4yNXB0O2JvcmRl -ci10b3A6bm9uZTtib3JkZXItbGVmdDogbm9uZTtib3JkZXItYm90dG9tOnNvbGlk -IHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQg -MS4wcHQ7IHBhZGRpbmc6Mi44NXB0IDIuODVwdCAyLjg1cHQgMi44NXB0fQogICAg -ICAgIC5XMzggeyB3aWR0aDozOHB4OyB9CiAgICAgICAgLlcxNSB7IHdpZHRoOjE1 -cHg7IH0KICAgICAgICAuVzIyIHsgd2lkdGg6MjJweDsgfQogICAgICAgIC53aTEw -MCB7IHdpZHRoOjEwMCU7IH0KICAgICAgICAuV0VybCB7IHdpZHRoOjE1cHg7IH0K -ICAgICAgICAuRTFTcDIgeyB3aWR0aDo1NTcuM3B4OyB9CiAgICAgICAgLkUyU3Ay -IHsgd2lkdGg6NTQyLjNweDsgfQogICAgICAgIC5FM1NwMiB7IHdpZHRoOjUyMC4z -cHg7IH0KICAgICAgICAuRTRTcDIgeyB3aWR0aDo0OTguMjk5OTk5OTk5OTk5OTVw -eDsgfQogICAgICAgIC5FNVNwMiB7IHdpZHRoOjQ3Ni4yOTk5OTk5OTk5OTk5NXB4 -OyB9CiAgICAgICAgLkVybFNwMiB7IHdpZHRoOjU3MC4zcHg7IH0KICAgICAgICAu -RTFTcDJRIHsgd2lkdGg6ODAzLjlweDsgfQogICAgICAgIC5FMlNwMlEgeyB3aWR0 -aDo3ODguOXB4OyB9CiAgICAgICAgLkUzU3AyUSB7IHdpZHRoOjc2Ni45cHg7IH0K -ICAgICAgICAuRTRTcDJRIHsgd2lkdGg6NzQ0LjlweDsgfQogICAgICAgIC5FNVNw -MlEgeyB3aWR0aDo3MjIuOXB4OyB9CiAgICAgICAgLkVybFNwMlEgeyB3aWR0aDo4 -MTYuOXB4OyB9CiAgICAgICAgLm5leHRwYWdlIHsgcGFnZS1icmVhay1iZWZvcmU6 -YWx3YXlzOyB9CiAgICAgICAgLm1hcmdpbnMge21hcmdpbi10b3A6ODUuMDVwdDtt -YXJnaW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2lu -LWxlZnQ6ODUuMDVwdDt9CiAgICAgICAgQG1lZGlhIHNjcmVlbiB7IC5wYXBlcncg -e3dpZHRoOjU5NS4zcHg7bWFyZ2luLXRvcDo4NS4wNXB0O21hcmdpbi1yaWdodDo4 -NS4wNXB0O21hcmdpbi1ib3R0b206ODUuMDVwdDttYXJnaW4tbGVmdDo4NS4wNXB0 -O319CiAgICAgICAgQG1lZGlhIHByaW50IHsgLnBhcGVydyB7d2lkdGg6NTk1LjNw -eDttYXJnaW4tdG9wOjAuMHB0O21hcmdpbi1yaWdodDowLjBwdDttYXJnaW4tYm90 -dG9tOjAuMHB0O21hcmdpbi1sZWZ0OjAuMHB0O3NpemU6cG9ydHJhaXQ7fX0KICAg -ICAgICBAbWVkaWEgc2NyZWVuIHsgLnBhcGVyaCB7d2lkdGg6ODQxLjlweDttYXJn -aW4tcmlnaHQ6ODUuMDVwdDttYXJnaW4tYm90dG9tOjg1LjA1cHQ7bWFyZ2luLWxl -ZnQ6ODUuMDVwdDttYXJnaW4tdG9wOjg1LjA1cHQ7fX0KICAgICAgICBAbWVkaWEg -cHJpbnQgeyAucGFwZXJoIHt3aWR0aDo4NDEuOXB4O21hcmdpbi10b3A6MC4wcHQ7 -bWFyZ2luLXJpZ2h0OjAuMHB0O21hcmdpbi1ib3R0b206MC4wcHQ7bWFyZ2luLWxl -ZnQ6MC4wcHQ7c2l6ZTpsYW5kc2NhcGV9fQovKioqKioqKioqKioqKioqKioqKioq -KioqKioqLwovKiBSZXZpc2lvbjogICAgMS44LjYgICAgICAqLwovKiBFcnN0ZWxs -dDogICAgMDMuMTAuMjAwMyAqLwovKiBNb2RpZml6aWVydDogMjQuMDMuMjAwNCAq -LwovKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBBbGxnZW1laW5lIEFu -Z2FiZW4genVtIEFuemVpZ2VuIHZvbiBMaW5pZW4gaW4gVGFiZWxsZW4gKi8KCi8q -QHBhZ2UgOmxlZnQgewogIHNpemU6IDIxY20gMjkuN2NtOyAKICBtYXJnaW4tbGVm -dDogMmNtOwogIG1hcmdpbi1yaWdodDogMmNtOwogIG1hcmtzOmNyb3A7Cn0KCkBw -YWdlIDpyaWdodCB7CiAgc2l6ZTogMjFjbSAyOS43Y207ICAKICBtYXJnaW4tbGVm -dDogMmNtOwogIG1hcmdpbi1yaWdodDogMmNtOwogIG1hcmtzOmNyb3A7Cn0KKi8K -dGFibGUudG9wCnsKCWJvcmRlci10b3Atc3R5bGU6IHNvbGlkOwoJYm9yZGVyLXRv -cC13aWR0aDogdGhpbjsKCWJvcmRlci1jb2xvcjogYmxhY2s7Cn0KCnRhYmxlLmJv -dHRvbQp7Cglib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsKCWJvcmRlci1ib3R0 -b20td2lkdGg6IHRoaW47Cglib3JkZXItY29sb3I6IGJsYWNrOwp9Cgp0ZC50b3AK -ewogICBib3JkZXItdG9wLXN0eWxlOnNvbGlkOwogICBib3JkZXItdG9wLXdpZHRo -OjFwdDsKfQp0ZC5yaWdodAp7CiAgIGJvcmRlci1yaWdodC1zdHlsZTpzb2xpZDsK -ICAgYm9yZGVyLXJpZ2h0LXdpZHRoOjFwdDsKfQp0ZC5ib3R0b20KewogICBib3Jk -ZXItYm90dG9tLXN0eWxlOnNvbGlkOwogICBib3JkZXItYm90dG9tLXdpZHRoOjFw -dDsKfQp0ZC5sZWZ0CnsKICAgYm9yZGVyLWxlZnQtc3R5bGU6c29saWQ7CiAgIGJv -cmRlci1sZWZ0LXdpZHRoOjFwdDsKfQoKLypUZXh0IGlubmVyaGFsYiBlaW5lciBU -YWJlbGxlbnplbGxlKi8KLkFsaWduTGVmdAp7Cgl0ZXh0LWFsaWduOmxlZnQ7Cn0K -LkFsaWduUmlnaHQKewoJdGV4dC1hbGlnbjpyaWdodDsKfQouQWxpZ25DZW50ZXIK -ewoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KLkFsaWduSnVzdGlmeQp7Cgl0ZXh0LWFs -aWduOmp1c3RpZnk7Cn0KLlZBbGlnblRvcCB7Cgl2ZXJ0aWNhbC1hbGlnbjp0b3A7 -CQp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKiovCi8qIExlZ2lzdGlrLVN0YW5kYXJkLUZvcm1h -dHZvcmxhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKiovCgovKiBGb3JtYXR2b3JsYWdlOiAwMF9MZWdTdGFuZGFyZCAqLwou -TGVnU3RhbmRhcmQKewoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBGb3JtYXR2b3JsYWdl -biBmdWVyIEFic2FldHplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq -LwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqLwoKLyogRm9ybWF0dm9ybGFnZTogMDFfVW5kZWZp -bmllcnQgKi8KcC5VbmRlZmluaWVydAp7CgltYXJnaW4tdG9wOjEuMHB0OwoJbWFy -Z2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6 -MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJ -Zm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i -OwoJY29sb3I6IHJlZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogMDJfQkRHZXNCbGF0 -dCAqLwpwLkJER2VzQmxhdHQKewoJbWFyZ2luLXRvcDoxNC4wcHQ7CgltYXJnaW4t -cmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207 -Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjM1LjBwdDsKCWZvbnQt -c2l6ZTozNS4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNv -bG9yOmJsYWNrOwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwoJbGV0dGVyLXNw -YWNpbmc6MS4zcHQ7Cglmb250LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3Js -YWdlOiAwM19SZXBPZXN0ZXJyICovCnAuUmVwT2VzdGVycgp7CgltYXJnaW4tdG9w -OjYuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJbWFyZ2luLWJvdHRvbToxMi4wcHQ7Cgl0ZXh0LWFs -aWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjIwLjBwdDsKCWJvcmRlcjpub25lOwoJ -cGFkZGluZzowY207Cglmb250LXNpemU6MjAuMHB0OwoJZm9udC1mYW1pbHk6IlRp -bWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKCXRleHQtdHJhbnNmb3JtOnVw -cGVyY2FzZTsKCWxldHRlci1zcGFjaW5nOjEuMHB0OwoJZm9udC13ZWlnaHQ6Ym9s -ZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogMDRfQXVzZ2FiZURhdGVuICovCnAuQXVz -Z2FiZURhdGVuCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWln -aHQ6MTQuMHB0OwoJcGFkZGluZzowY207Cglmb250LXNpemU6MTIuMHB0OwoJZm9u -dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjogYmxhY2s7Cglmb250 -LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiAwNV9LdXJ6dGl0ZWwg -Ki8KLyogS3VyenRpdGVsIGluIGVpbmVyIFNwYWx0ZSAod2VubiBrZWluIFRBQiB2 -b3JoYW5kZW4gaXN0KSAqLwpwLkt1cnp0aXRlbDEKewoJbWFyZ2luLXRvcDoyLjBw -dDsKCW1hcmdpbi1yaWdodDogMGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJn -aW4tbGVmdDogMy42Y207Cgl0ZXh0LWFsaWduOmp1c3RpZnk7Cgl0ZXh0LWluZGVu -dDogLTMuNmNtOwoJYm9yZGVyOm5vbmU7CglwYWRkaW5nOjBjbTsKCWZvbnQtc2l6 -ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9y -OmJsYWNrOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogS3VyenRpdGVsIGluIHp3 -ZWkgU3BhbHRlbiAod2VubiBlaW4gVEFCIHZvcmhhbmRlbiBpc3QpICovCnAuS3Vy -enRpdGVsMgp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0OiAwY207 -CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OiAwY207Cgl0ZXh0LWFs -aWduOmp1c3RpZnk7Cglib3JkZXI6bm9uZTsKCXBhZGRpbmc6MGNtOwoJZm9udC1z -aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29s -b3I6YmxhY2s7Cglmb250LXdlaWdodDpib2xkOwp9CgpzcGFuLkt1cnp0aXRlbGJy -ZWl0ZQp7Cgl3aWR0aDogMy40Y207Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDA5X0Fi -c3RhbmQgKi8KcC5BYnN0YW5kCnsKCW1hcmdpbjo2LjBwdDsKCW1hcmdpbi1ib3R0 -b206Ni4wcHQ7CglsaW5lLWhlaWdodDoxMC4wcHQ7Cglmb250LXNpemU6MTAuMHB0 -OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsK -fQoKLyogRm9ybWF0dm9ybGFnZTogMTBfRW50d3VyZiAqLwpwLkVudHd1cmYKewoJ -bWFyZ2luLXRvcDo4MC4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJv -dHRvbTo2NC4wcHQ7CgltYXJnaW4tbGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRl -cjsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250 -LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWxldHRlci1zcGFjaW5nOjEuM3B0 -Owp9CgovKiBGb3JtYXR2b3JsYWdlOiAxMV9UaXRlbCAqLwpwLlRpdGVsCnsKCW1h -cmdpbi10b3A6MjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0 -b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJ -bGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjExLjBwdDsKCWZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyog -Rm9ybWF0dm9ybGFnZTogMTJfUHJvbUtsX0VpbmxTYXR6ICovCQpwLlByb21LbEVp -bmxTYXR6CnsKCW1hcmdpbi10b3A6OC4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJ -bWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207Cgl0ZXh0LWFsaWdu -Omp1c3RpZnk7Cgl0ZXh0LWluZGVudDoxOS44NXB0OwoJbGluZS1oZWlnaHQ6MTEu -MHB0OwoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsKCWZvbnQtc2l6ZToxMC4wcHQ7 -Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9y -bGFnZTogMThfQWJiaWxkdW5nX29kZXJfT2JqZWt0ICovCnAuQWJiaWxkdW5nb2Rl -ck9iamVrdAp7CgltYXJnaW4tdG9wOjYuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206Ni4wcHQ7CgltYXJnaW4tbGVmdDowY207Cglmb250LXNp -emU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xv -cjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogMThfQWJiaWxkdW5nX29kZXJf -T2JqZWt0ICovCnAuQWJiaWxkdW5nb2Rlck9iamVrdEwKewoJbWFyZ2luLXRvcDo2 -LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjYuMHB0OwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpsZWZ0OwoJZm9udC1zaXplOjEw -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6Ymxh -Y2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE4X0FiYmlsZHVuZ19vZGVyX09iamVr -dCAqLwpwLkFiYmlsZHVuZ29kZXJPYmpla3RaCnsKCW1hcmdpbi10b3A6Ni4wcHQ7 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdp -bi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC1zaXplOjEwLjBw -dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7 -Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE4X0FiYmlsZHVuZ19vZGVyX09iamVrdCAq -LwpwLkFiYmlsZHVuZ29kZXJPYmpla3RSCnsKCW1hcmdpbi10b3A6Ni4wcHQ7Cglt -YXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdpbi1s -ZWZ0OjBjbTsKCXRleHQtYWxpZ246cmlnaHQ7Cglmb250LXNpemU6MTAuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoK -LyogRm9ybWF0dm9ybGFnZTogMTlfQmVzY2hyaWZ0dW5nICovCnAuQmVzY2hyaWZ0 -dW5nCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdp -bi1ib3R0b206Ni4wcHQ7CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDox -MS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogMTlf -QmVzY2hyaWZ0dW5nICovCnAuQmVzY2hyaWZ0dW5nTAp7CgltYXJnaW4tdG9wOjBj -bTsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjYuMHB0OwoJbWFy -Z2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJdGV4dC1hbGlnbjps -ZWZ0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE5X0Jl -c2NocmlmdHVuZyAqLwpwLkJlc2NocmlmdHVuZ1oKewoJbWFyZ2luLXRvcDowY207 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdp -bi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCXRleHQtYWxpZ246Y2Vu -dGVyOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDE5X0Jl -c2NocmlmdHVuZyAqLwpwLkJlc2NocmlmdHVuZ1IKewoJbWFyZ2luLXRvcDowY207 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTo2LjBwdDsKCW1hcmdp -bi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCXRleHQtYWxpZ246cmln -aHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogMjFfTm92 -QW8xICovCnAuTm92QW8xCnsKCW1hcmdpbi10b3A6NC4wcHQ7CgltYXJnaW4tcmln -aHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207Cgl0 -ZXh0LWFsaWduOmp1c3RpZnk7CglsaW5lLWhlaWdodDoxMS4wcHQ7CglwYWdlLWJy -ZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iOwoJZm9udC1zdHlsZTppdGFsaWM7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDIyX05vdkFvMSAqLwpwLk5vdkFvMgp7CgltYXJnaW4tdG9w -OjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iOwoJZm9udC1zdHlsZTppdGFsaWM7Cn0KCi8qIEZvcm1hdHZv -cmxhZ2U6IDIzX1NhdHpfKG5hY2hfTm92YW8pICovCnAuU2F0em5hY2hOb3Zhbwp7 -CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1i -b3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5 -OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDMwX0luaGFsdFVlYmVyc2NocmlmdCAqLwpwLkluaGFsdFVl -YmVyc2NocmlmdAp7CgltYXJnaW4tdG9wOjE2LjBwdDsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjguMHB0OwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4 -dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6 -MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cglmb250LXdl -aWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiAzMV9JbmhhbHRTcGFsdGUg -Ki8KcC5JbmhhbHRTcGFsdGUKewoJbWFyZ2luLXRvcDo0LjBwdDsKCW1hcmdpbi1y -aWdodDowY207CgltYXJnaW4tYm90dG9tOjQuMHB0OwoJbWFyZ2luLWxlZnQ6MGNt -OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsK -CWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu -IjsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDMyX0lu -aGFsdEVpbnRyYWcgKi8KcC5JbmhhbHRFaW50cmFnCnsKCW1hcmdpbi10b3A6MGNt -OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2lu -LWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBw -dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2 -b3JsYWdlOiA0MV9VZWJlcnNjaHJHMSAqLwpwLlVlYmVyc2NockcxCnsKCW1hcmdp -bi10b3A6MTYuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206 -MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5l -LWhlaWdodDoxMS4wcHQ7CglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1z -aXplOjExLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29s -b3I6YmxhY2s7Cglmb250LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdl -OiA0Ml9VZWJlcnNjaHJHMS0gKi8KcC5VZWJlcnNjaHJHMS0KewoJbWFyZ2luLXRv -cDo4LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsK -CW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsKCWZvbnQtc2l6ZTox -MS4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9yOmJs -YWNrOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogNDNf -VWViZXJzY2hyRzIgKi8KcC5VZWJlcnNjaHJHMgp7CgltYXJnaW4tdG9wOjQuMHB0 -OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206NC4wcHQ7CgltYXJn -aW4tbGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjEx -LjBwdDsKCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Cglmb250LXNpemU6MTEuMHB0 -OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsK -CWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDQ0X1VlYmVy -c2NockFydCAqLwpwLlVlYmVyc2NockFydAp7CgltYXJnaW4tdG9wOjguMHB0OwoJ -bWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxl -ZnQ6MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7 -CglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250 -LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA0NV9VZWJlcnNjaHJQ -YXJhICovCnAuVWViZXJzY2hyUGFyYQp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFy -Z2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6 -MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglw -YWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250LXdl -aWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1MV9BYnMgKi8KcC5BYnMK -ewoJbWFyZ2luLXRvcDo0LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4t -Ym90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246anVzdGlm -eTsKCXRleHQtaW5kZW50OjE5Ljg1cHQ7Ci8qCWxpbmUtaGVpZ2h0OjExLjBwdDsg -Ki8KCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJfWmlmZmVyX2UxICovCnAuWmlm -ZmVyRTEKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1yaWdodDowY207Cglt -YXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0 -OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJfWmlmZmVyX2UyICov -CnAuWmlmZmVyRTIKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUt -aGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJfWmlmZmVy -X2UzICovCnAuWmlmZmVyRTMKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1y -aWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsK -CWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZh -bWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTJf -WmlmZmVyX21pdF9CZXRyYWcgKi8KcC5aaWZmZXJNaXRCZXRyYWcKewoJbWFyZ2lu -LXRvcDowY207CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207 -CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7CglwdW5jdHVh -dGlvbi13cmFwOnNpbXBsZTsKCXRleHQtYXV0b3NwYWNlOm5vbmU7Cglmb250LXNp -emU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8q -IEZvcm1hdHZvcmxhZ2U6IDUyYVRfWmlmZmVyX21pdF9CZXRyYWdfVEdVRSAqLwpw -LlppZmZlck1pdEJldHJhZ1RHVUUKewoJbWFyZ2luLXRvcDowY207CgltYXJnaW4t -cmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207 -CglsaW5lLWhlaWdodDoxMS4wcHQ7CglwdW5jdHVhdGlvbi13cmFwOnNpbXBsZTsK -CXRleHQtYXV0b3NwYWNlOm5vbmU7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDUz -X0xpdGVyYV9lMSAqLwpwLkxpdGVyYUUxCnsKCW1hcmdpbi10b3A6Mi4wcHQ7Cglt -YXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVm -dDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1hdHZvcmxh -Z2U6IDUzX0xpdGVyYV9lMiAqLwpwLkxpdGVyYUUyCnsKCW1hcmdpbi10b3A6Mi4w -cHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJn -aW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6MTAu -MHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1h -dHZvcmxhZ2U6IDUzX0xpdGVyYV9lMyAqLwpwLkxpdGVyYUUzCnsKCW1hcmdpbi10 -b3A6Mi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207 -CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNp -emU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8q -IEZvcm1hdHZvcmxhZ2U6IDUzX0xpdGVyYV9taXRfQmV0cmFnICovCnAuTGl0ZXJh -TWl0QmV0cmFnCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJcHVuY3R1YXRpb24td3JhcDpzaW1wbGU7Cgl0ZXh0LWF1dG9z -cGFjZTpub25lOwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1M2FUX0xpdGVyYV9t -aXRfQmV0cmFnX1RHVUUgKi8KcC5MaXRlcmFNaXRCZXRyYWdUR1VFCnsKCW1hcmdp -bi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNt -OwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJcHVuY3R1 -YXRpb24td3JhcDpzaW1wbGU7Cgl0ZXh0LWF1dG9zcGFjZTpub25lOwoJZm9udC1z -aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9Cgov -KiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJsaXRlcmFfZTEgKi8KcC5TdWJsaXRlcmFF -MQp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdp -bi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEu -MHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg -Um9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJsaXRlcmFfZTIgKi8K -cC5TdWJsaXRlcmFFMgp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0 -OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGlu -ZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NF9TdWJs -aXRlcmFfZTMgKi8KcC5TdWJsaXRlcmFFMwp7CgltYXJnaW4tdG9wOjIuMHB0OwoJ -bWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxl -ZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsK -CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3Js -YWdlOiA1NF9TdWJsaXRlcmFfbWl0X0JldHJhZyAqLwpwLlN1YmxpdGVyYU1pdEJl -dHJhZwp7CgltYXJnaW4tdG9wOjBjbTsKCW1hcmdpbi1yaWdodDowY207CgltYXJn -aW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjEx -LjBwdDsKCXB1bmN0dWF0aW9uLXdyYXA6c2ltcGxlOwoJdGV4dC1hdXRvc3BhY2U6 -bm9uZTsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3 -IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTRhVF9TdWJsaXRlcmFfbWl0 -X0JldHJhZ19UR1VFICovCnAuU3VibGl0ZXJhTWl0QmV0cmFnVEdVRQp7CgltYXJn -aW4tdG9wOjBjbTsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBj -bTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCXB1bmN0 -dWF0aW9uLXdyYXA6c2ltcGxlOwoJdGV4dC1hdXRvc3BhY2U6bm9uZTsKCWZvbnQt -c2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoK -LyogRm9ybWF0dm9ybGFnZTogNTRhX1N0cmljaF9lMSAqLwpwLlN0cmljaEUxCnsK -CW1hcmdpbi10b3A6Mi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJv -dHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4wcHQ7 -Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDU0YV9TdHJpY2hfZTIgKi8KcC5TdHJp -Y2hFMgp7CgltYXJnaW4tdG9wOjIuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1h -cmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NGFfU3RyaWNoX2UzICov -CnAuU3RyaWNoRTMKewoJbWFyZ2luLXRvcDoyLjBwdDsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCWxpbmUt -aGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToi -VGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9ybGFnZTogNTRhX1N0cmlj -aF9lNCAqLwpwLlN0cmljaEU0CnsKCW1hcmdpbi10b3A6Mi4wcHQ7CgltYXJnaW4t -cmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207 -CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1m -YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDU0 -YV9TdHJpY2hfZTUgKi8KcC5TdHJpY2hFNQp7CgltYXJnaW4tdG9wOjIuMHB0OwoJ -bWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxl -ZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsK -CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3Js -YWdlOiA1NGFfU3RyaWNoX2U2ICovCnAuU3RyaWNoRTYKewoJbWFyZ2luLXRvcDoy -LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1h -cmdpbi1sZWZ0OjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZTox -MC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9yOmJs -YWNrOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA1NGFfU3RyaWNoX2U3ICovCnAuU3Ry -aWNoRTcKCXsKCW1hcmdpbi10b3A6Mi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJ -bWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdo -dDoxMS4wcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTog -NTVfU2NobHVzc3RlaWxBYnMgKi8KcC5TY2hsdXNzdGVpbEFicwp7CgltYXJnaW46 -MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2b3JsYWdl -OiA1Nl9TY2hsdXNzdGVpbFppZmYgKi8KcC5TY2hsdXNzdGVpbFppZmYKewoJbWFy -Z2luOjBjbTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7 -Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKfQoKLyogRm9ybWF0dm9y -bGFnZTogNTdfU2NobHVzc3RlaWxMaXQgKi8KcC5TY2hsdXNzdGVpbExpdAp7Cglt -YXJnaW46MGNtOwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBw -dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3JtYXR2 -b3JsYWdlOiA2MV9UYWJUZXh0ICovCnAuVGFiVGV4dAp7CgltYXJnaW46MGNtOwoJ -bGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFt -aWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1h -dHZvcmxhZ2U6IDYxYV9UYWJUZXh0UmVjaHRzYiAqLwpwLlRhYlRleHRSZWNodHNi -CnsKCW1hcmdpbjowY207Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDYx -Yl9UYWJUZXh0WmVudHJpZXJ0ICovCnAuVGFiVGV4dFplbnRyaWVydAp7CgltYXJn -aW46MGNtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDoxMS4wcHQ7 -Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h -biI7Cgljb2xvcjpibGFjazsKfQoKLyogRm9ybWF0dm9ybGFnZTogNjFjX1RhYlRl -eHRCbG9jayAqLwpwLlRhYlRleHRCbG9jawp7CgltYXJnaW46MGNtOwoJdGV4dC1h -bGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEw -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6Ymxh -Y2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDYyX0tvcGZ6ZWlsZSAqLwpwLktvcGZ6 -ZWlsZQp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1h -cmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpq -dXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsK -CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6ICNDMEMwQzA7 -Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDYzX0Z1w596ZWlsZSAqLwpwLkZ1c3N6ZWls -ZQp7CgltYXJnaW4tdG9wOjEwLjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJn -aW4tYm90dG9tOjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246anVz -dGlmeTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZTo5LjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6ICNDMEMwQzA7Cn0K -Ci8qIEZvcm1hdHZvcmxhZ2U6IDY0X0ZOX0xpbmllICovCnAuRk5MaW5pZQp7Cglt -YXJnaW4tdG9wOjExLjBwdDsKCW1hcmdpbi1yaWdodDoxMy4wY207CgltYXJnaW4t -Ym90dG9tOjEuMHB0OwoJbWFyZ2luLWxlZnQ6MGNtOwoJbGluZS1oZWlnaHQ6MTEu -MHB0OwoJcGFkZGluZzowY207Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKCWJvcmRlci1ib3R0 -b20tc3R5bGU6IHNvbGlkOwoJYm9yZGVyLWJvdHRvbS1jb2xvcjogR3JheTsKCWJv -cmRlci1ib3R0b20td2lkdGg6IDFweDsKfQoKLyogRm9ybWF0dm9ybGFnZTogNjVf -Rk5fVGV4dCAqLwpwLkZOVGV4dAp7CgltYXJnaW46MGNtOwoJdGV4dC1hbGlnbjpq -dXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjkuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKfQoK -LyogRm9ybWF0dm9ybGFnZTogNjZfRk5fWmVpY2hlbiAqLwpzcGFuLkZOWmVpY2hl -bgp7Cgl2ZXJ0aWNhbC1hbGlnbjpzdXBlcjsKfQoKLyogRm9ybWF0dm9ybGFnZTog -NjhfVW50ZXJzY2hyTCAqLwpwLlVudGVyc2NockwKewoJbWFyZ2luLXRvcDo4LjBw -dDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjBjbTsKCW1hcmdp -bi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246bGVmdDsKCWxpbmUtaGVpZ2h0OjExLjBw -dDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJv -bWFuIjsKCWNvbG9yOmJsYWNrOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9y -bWF0dm9ybGFnZTogNjlfVW50ZXJzY2hyTSAqLwpwLlVudGVyc2Nock0KewoJbWFy -Z2luLXRvcDo4LjBwdDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9t -OjBjbTsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGlu -ZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5 -OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250LXdlaWdodDpi -b2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA3MV9BbmxhZ2VuYmV6ICovCnAuQW5s -YWdlbmJlegp7CgltYXJnaW4tdG9wOjguMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsK -CW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGln -bjpyaWdodDsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6ZToxMS4wcHQ7 -Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWNvbG9yOmJsYWNrOwoJ -Zm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogODFfRXJsVWVi -ZXJzY2hyWiAqLwpwLkVybFVlYmVyc2NocloKewoJbWFyZ2luLXRvcDoxNi4wcHQ7 -CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4t -bGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjExLjBw -dDsKCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Cglmb250LXNpemU6MTEuMHB0OwoJ -Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsKCWZv -bnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDgyX0VybFVlYmVy -c2NockwgKi8KcC5FcmxVZWJlcnNjaHJMCnsKCW1hcmdpbi10b3A6NC4wcHQ7Cglt -YXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVm -dDowY207Cgl0ZXh0LWFsaWduOmp1c3RpZnk7CglsaW5lLWhlaWdodDoxMS4wcHQ7 -CglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOwoJZm9udC1zaXplOjEwLjBwdDsKCWZv -bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29sb3I6YmxhY2s7Cglmb250 -LXdlaWdodDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA4M19FcmxUZXh0ICov -CnAuRXJsVGV4dAp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBj -bTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1h -bGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1zaXplOjEw -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwp9CgovKiBGb3Jt -YXR2b3JsYWdlOiA4NV9FcmxBdWZ6YWVobGcgLSBub2NoIG5pY2h0IGZlcnRpZyAq -LwpwLkVybEF1ZnphZWhsZwp7CgltYXJnaW4tdG9wOjQuMHB0OwoJbWFyZ2luLXJp -Z2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFyZ2luLWxlZnQ6MGNtOwoJ -dGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6MTEuMHB0OwoJZm9udC1z -aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJY29s -b3I6YmxhY2s7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDg5X1RHVUVfVWViZXJzY2hy -U3BhbHRlKi8KcC5UR1VFVWViZXJzY2hyU3BhbHRlCnsKCW1hcmdpbi10b3A6NC4w -cHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJn -aW4tbGVmdDowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjEx -LjBwdDsKCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7Cglmb250LXNpemU6MTAuMHB0 -OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgljb2xvcjpibGFjazsK -CWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCi8qKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qIEZvcm1h -dHZvcmxhZ2VuIGZ1ZXIgWmVpY2hlbmZvcm1hdGllcnVuZyAgICAgICAgICAgICAg -ICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKiBGb3JtYXR2b3JsYWdlOiA5 -OTBfRmVobGVyICovCnNwYW4uRmVobGVyCnsKCWNvbG9yOiByZWQ7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDk5MV9HbGRTeW1ib2wgKi8Kc3Bhbi5HbGRTeW1ib2wKewoJ -Zm9udC13ZWlnaHQ6Ym9sZDsKfQoKLyogRm9ybWF0dm9ybGFnZTogOTkyX05vcm1h -bCAqLwpzcGFuLk5vcm1hbAp7Cglmb250LXN0eWxlOiBub3JtYWw7Cn0KCi8qIEZv -cm1hdHZvcmxhZ2U6IDk5M19GZXR0ICovCnNwYW4uRmV0dAp7Cglmb250LXdlaWdo -dDpib2xkOwp9CgovKiBGb3JtYXR2b3JsYWdlOiA5OTRfS3Vyc2l2ICovCnNwYW4u -S3Vyc2l2CnsKCWZvbnQtc3R5bGU6aXRhbGljOwp9CgovKiBGb3JtYXR2b3JsYWdl -OiA5OTVfVW50ZXJzdHJpY2hlbiAqLwpzcGFuLlVudGVyc3RyaWNoZW4KewoJdGV4 -dC1kZWNvcmF0aW9uOnVuZGVybGluZTsKfQoKLyogRm9ybWF0dm9ybGFnZTogOTk2 -X0dlc3BlcnJ0ICovCnNwYW4uR2VzcGVycnQKewoJbGV0dGVyLXNwYWNpbmc6MS4z -cHQ7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6IDk5N19Ib2NoICovCnNwYW4uSG9jaAp7 -Cglmb250LXNpemU6IDUwJTsKCXZlcnRpY2FsLWFsaWduOnN1cGVyOwp9CgovKiBG -b3JtYXR2b3JsYWdlOiA5OThfVGllZiAqLwpzcGFuLlRpZWYKewoJZm9udC1zaXpl -OiA1MCU7Cgl2ZXJ0aWNhbC1hbGlnbjpzdWI7Cn0KCi8qIEZvcm1hdHZvcmxhZ2U6 -IDk5OV9GZXR0X3VuZF9LdXJzaXYgKi8Kc3Bhbi5GZXR0dW5kS3Vyc2l2CnsKCWZv -bnQtd2VpZ2h0OmJvbGQ7Cglmb250LXN0eWxlOml0YWxpYzsKfQoKLyogU3RhbmRh -cmR0YWJzY2hyaXR0d2VpdGUgYXVzIFdvcmQgKi8Kc3Bhbi5TdGFuZGFyZHRhYnVs -YXRvcgp7Cgl3aWR0aDozNS40NXB0Owp9CgovKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBG -b3JtYXR2b3JsYWdlbiBkZXIgUGFybGFtZW50c2RpcmVrdGlvbiAgICAgICAgICAg -ICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKcC5QRF9BbGxvbmdlLCBs -aS5QRF9BbGxvbmdlLCBkaXYuUERfQWxsb25nZQp7CgltYXJnaW4tdG9wOjE0LjBw -dDsKCW1hcmdpbi1yaWdodDowY207CgltYXJnaW4tYm90dG9tOjEwLjBwdDsKCW1h -cmdpbi1sZWZ0OjBjbTsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC1zaXplOjE0 -LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbGF5b3V0LWdy -aWQtbW9kZTpsaW5lOwp9CgpwLlBEX0FsbG9uZ2VCLCBsaS5QRF9BbGxvbmdlQiwg -ZGl2LlBEX0FsbG9uZ2VCCnsKCW1hcmdpbi10b3A6MTQuMHB0OwoJbWFyZ2luLXJp -Z2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MTAuMHB0OwoJbWFyZ2luLWxlZnQ6MGNt -OwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJZm9udC1zaXplOjE0LjBwdDsKCWZvbnQt -ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbGF5b3V0LWdyaWQtbW9kZTpsaW5l -Owp9CgpwLlBEX0FsbG9uZ2VMLCBsaS5QRF9BbGxvbmdlTCwgZGl2LlBEX0FsbG9u -Z2VMCnsKCW1hcmdpbi10b3A6MTQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1h -cmdpbi1ib3R0b206MTAuMHB0OwoJbWFyZ2luLWxlZnQ6MGNtOwoJZm9udC1zaXpl -OjE0LjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbGF5b3V0 -LWdyaWQtbW9kZTpsaW5lOwp9CgpwLlBEX0FudHJhZ3Nmb3JtZWwsIGxpLlBEX0Fu -dHJhZ3Nmb3JtZWwsIGRpdi5QRF9BbnRyYWdzZm9ybWVsCnsKCW1hcmdpbi10b3A6 -MTQuMHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJ -bWFyZ2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWln -aHQ6MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l -cyBOZXcgUm9tYW4iOwoJbGF5b3V0LWdyaWQtbW9kZTpsaW5lOwp9CgpwLlBEX0Rh -dHVtLCBsaS5QRF9EYXR1bSwgZGl2LlBEX0RhdHVtCnsKCW1hcmdpbi10b3A6MTQu -MHB0OwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MGNtOwoJbWFy -Z2luLWxlZnQ6MGNtOwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJbGluZS1oZWlnaHQ6 -MTEuMHB0OwoJZm9udC1zaXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBO -ZXcgUm9tYW4iOwoJbGF5b3V0LWdyaWQtbW9kZTpsaW5lOwp9CgpwLlBEX0VudHNj -aGxpZXNzdW5nLCBsaS5QRF9FbnRzY2hsaWVzc3VuZywgZGl2LlBEX0VudHNjaGxp -ZXNzdW5nCnsKCW1hcmdpbi10b3A6OC4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJ -bWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdo -dDoxMS4wcHQ7Cglmb250LXNpemU6MTEuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVz -IE5ldyBSb21hbiI7CglsYXlvdXQtZ3JpZC1tb2RlOmxpbmU7Cglmb250LXdlaWdo -dDpib2xkOwp9CgpwLlBEX0sxLCBsaS5QRF9LMSwgZGl2LlBEX0sxCnsKCW1hcmdp -bjowY207Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlcjpub25lOwoJcGFkZGlu -ZzowY207Cglmb250LXNpemU6MTIuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5l -dyBSb21hbiI7CglsZXR0ZXItc3BhY2luZzotLjRwdDsKCWZvbnQtd2VpZ2h0OmJv -bGQ7Cn0KCnAuUERfSzFBbmxhZ2UsIGxpLlBEX0sxQW5sYWdlLCBkaXYuUERfSzFB -bmxhZ2UKewoJbWFyZ2luOjBjbTsKCXRleHQtYWxpZ246cmlnaHQ7Cglmb250LXNp -emU6MTIuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7CglsZXR0 -ZXItc3BhY2luZzotLjRwdDsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCnAuUERfSzFB -dXNnLCBsaS5QRF9LMUF1c2csIGRpdi5QRF9LMUF1c2cKewoJbWFyZ2luLXRvcDo2 -Mi45cHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2luLWJvdHRvbToyNy4wcHQ7 -CgltYXJnaW4tbGVmdDowY207Cglmb250LXNpemU6MTEuMHB0OwoJZm9udC1mYW1p -bHk6IlRpbWVzIE5ldyBSb21hbiI7Cglmb250LXdlaWdodDpib2xkOwp9CgpwLlBE -X0syLCBsaS5QRF9LMiwgZGl2LlBEX0syCnsKCW1hcmdpbi10b3A6MGNtOwoJbWFy -Z2luLXJpZ2h0OjBjbTsKCW1hcmdpbi1ib3R0b206MTEuMzVwdDsKCW1hcmdpbi1s -ZWZ0OjBjbTsKCWZvbnQtc2l6ZToyMi4wcHQ7Cglmb250LWZhbWlseToiVGltZXMg -TmV3IFJvbWFuIjsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KCnAuUERfSzMsIGxpLlBE -X0szLCBkaXYuUERfSzMKewoJbWFyZ2luLXRvcDowY207CgltYXJnaW4tcmlnaHQ6 -MGNtOwoJbWFyZ2luLWJvdHRvbToyMC4wcHQ7CgltYXJnaW4tbGVmdDowY207Cglm -b250LXNpemU6MTguMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7 -Cglmb250LXdlaWdodDpib2xkOwp9CgpwLlBEX0s0LCBsaS5QRF9LNCwgZGl2LlBE -X0s0CnsKCW1hcmdpbi10b3A6MGNtOwoJbWFyZ2luLXJpZ2h0OjBjbTsKCW1hcmdp -bi1ib3R0b206Ni4wcHQ7CgltYXJnaW4tbGVmdDowY207Cglmb250LXNpemU6MTMu -MHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cglmb250LXdlaWdo -dDpib2xkOwp9CgpwLlBEX0tvcGZ6ZWlsZSwgbGkuUERfS29wZnplaWxlLCBkaXYu -UERfS29wZnplaWxlCnsKCW1hcmdpbi10b3A6NC4wcHQ7CgltYXJnaW4tcmlnaHQ6 -MGNtOwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207Cgl0ZXh0 -LWFsaWduOmp1c3RpZnk7CglsaW5lLWhlaWdodDoxMS4wcHQ7Cglmb250LXNpemU6 -MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7CglsYXlvdXQt -Z3JpZC1tb2RlOmxpbmU7Cn0KCnAuUERfVTEsIGxpLlBEX1UxLCBkaXYuUERfVTEK -ewoJbWFyZ2luLXRvcDoyMi4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNtOwoJbWFyZ2lu -LWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhlaWdodDoxMS4w -cHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS -b21hbiI7Cglmb250LXdlaWdodDpib2xkOwp9CgpwLlBEX1UyLCBsaS5QRF9VMiwg -ZGl2LlBEX1UyCnsKCW1hcmdpbi10b3A6NS4wcHQ7CgltYXJnaW4tcmlnaHQ6MGNt -OwoJbWFyZ2luLWJvdHRvbTowY207CgltYXJnaW4tbGVmdDowY207CglsaW5lLWhl -aWdodDoxMS4wcHQ7Cglmb250LXNpemU6OS4wcHQ7Cglmb250LWZhbWlseToiVGlt -ZXMgTmV3IFJvbWFuIjsKfQoKcC5QRF9Wb3JsYWdlLCBsaS5QRF9Wb3JsYWdlLCBk -aXYuUERfVm9ybGFnZQp7CgltYXJnaW4tdG9wOjBjbTsKCW1hcmdpbi1yaWdodDow -Y207CgltYXJnaW4tYm90dG9tOjEwLjBwdDsKCW1hcmdpbi1sZWZ0OjBjbTsKCXRl -eHQtYWxpZ246anVzdGlmeTsKCWxpbmUtaGVpZ2h0OjExLjBwdDsKCWZvbnQtc2l6 -ZToxMS4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKCWxheW91 -dC1ncmlkLW1vZGU6bGluZTsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KPC9zdHlsZT4K -PC9oZWFkPgo8Ym9keT4KPGRpdiBjbGFzcz0icGFwZXJ3Ij4KCgoKCjxwIGNsYXNz -PSJCREdlc0JsYXR0Ij5CVU5ERVNHRVNFVFpCTEFUVDwvcD4KPHAgY2xhc3M9IlJl -cE9lc3RlcnIiPkbDnFIgRElFIFJFUFVCTElLIMOWU1RFUlJFSUNIPC9wPgo8dGFi -bGUgY2xhc3M9InRvcCBib3R0b20gd2kxMDAiPgo8dHI+Cjx0ZD4KPHAgY2xhc3M9 -IkF1c2dhYmVEYXRlbiBBbGlnbkxlZnQiPkphaHJnYW5nIDIwMDQgPC9wPgo8L3Rk -Pgo8dGQ+CjxwIGNsYXNzPSJBdXNnYWJlRGF0ZW4gQWxpZ25DZW50ZXIiPkF1c2dl -Z2ViZW4gYW0gMzAuIEF1Z3VzdCAyMDA0IDwvcD4KPC90ZD4KPHRkPgo8cCBjbGFz -cz0iQXVzZ2FiZURhdGVuIEFsaWduUmlnaHQiPlRlaWwgSUk8L3A+CjwvdGQ+Cjwv -dHI+CjwvdGFibGU+Cjx0YWJsZSBjbGFzcz0iYm90dG9tIHdpMTAwIj4KPHRyPgo8 -dGQ+CjxwIGNsYXNzPSJLdXJ6dGl0ZWwyIEFsaWduTGVmdCBWQWxpZ25Ub3AiPgo8 -c3BhbiBjbGFzcz0iS3VyenRpdGVsYnJlaXRlIj4zNDEuIFZlcm9yZG51bmc6PC9z -cGFuPgo8L3A+CjwvdGQ+Cjx0ZD4KPHAgY2xhc3M9Ikt1cnp0aXRlbDIgQWxpZ25M -ZWZ0Ij7DhG5kZXJ1bmcgZGVyIEFsdGxhc3RlbmF0bGFzLVZPPC9wPgo8L3RkPgo8 -L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iVGl0ZWwiPjM0MS4gVmVyb3JkbnVuZyBk -ZXMgQnVuZGVzbWluaXN0ZXJzIGbDvHIgTGFuZC0gdW5kIEZvcnN0d2lydHNjaGFm -dCwgVW13ZWx0IHVuZCBXYXNzZXJ3aXJ0c2NoYWZ0LCBtaXQgZGVyIGRpZSBBbHRs -YXN0ZW5hdGxhcy1WTyBnZcOkbmRlcnQgd2lyZDwvcD4KPHAgY2xhc3M9IlByb21L -bEVpbmxTYXR6Ij5BdWYgR3J1bmQgZGVyIMKnwqfCoDEzIHVuZCAxNCBkZXMgQWx0 -bGFzdGVuc2FuaWVydW5nc2dlc2V0emVzLCBCR0JsLiBOci7CoDI5OS8xOTg5LCBp -biBkZXIgRmFzc3VuZyBkZXMgQnVuZGVzZ2VzZXR6ZXMgQkdCbC7CoEkgTnIuwqA3 -MS8yMDAzLCB3aXJkIHZlcm9yZG5ldDo8L3A+CjxwIGNsYXNzPSJQcm9tS2xFaW5s -U2F0eiI+RGllIEFsdGxhc3RlbmF0bGFzLVZPLCBCR0JsLsKgSUkgTnIuwqAyMzIv -MjAwNCwgd2lyZCB3aWUgZm9sZ3QgZ2XDpG5kZXJ0OjwvcD4KPHAgY2xhc3M9Ik5v -dkFvMSI+MS4gRGVyIGJpc2hlcmlnZSBUZXh0IGRlcyDCp8KgMiBlcmjDpGx0IGRp -ZSBBYnNhdHpiZXplaWNobnVuZyDigJ4oMSnigJwgdW5kIGZvbGdlbmRlciBBYnMu -wqAyIHdpcmQgYW5nZWbDvGd0OjwvcD4KPHAgY2xhc3M9IkFicyI+CuKAnigyKSBE -aWUgQW5ow6RuZ2XCoDMgdW5kIMKgNCBpbiBkZXIgRmFzc3VuZyBkZXIgVmVyb3Jk -bnVuZyBCR0JsLsKgSUkgTnIuwqAzNDEvMjAwNCB0cmV0ZW4gbWl0IDE1LsKgU2Vw -dGVtYmVyIDIwMDQgaW4gS3JhZnQu4oCcCjwvcD4KPHAgY2xhc3M9Ik5vdkFvMSI+ -Mi4gSW0gQW5oYW5nIDMgd2lyZCBmb2xnZW5kZXIgRWludHJhZyBBTFRMQVNUIE41 -NCBhbmdlZsO8Z3Q6PC9wPgo8dGFibGUgY2xhc3M9Ik4xMDBDMCI+Cjx0cj4KPHRk -IGNsYXNzPSJOMTAwQzkiIGNvbHNwYW49IjIiPgo8cCBjbGFzcz0iRXJsVWViZXJz -Y2hyTCI+CuKAnkFMVExBU1QgTjU0OiBCZWl6c2NobGFtbWRlcG9uaWUgVGVybml0 -ejwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDBEOSI+CjxwIGNs -YXNzPSJUYWJUZXh0UmVjaHRzYiI+QmV6aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRl -eHRSZWNodHNiIj5HZW1laW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRz -YiI+S2F0YXN0cmFsZ2VtZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0 -c2IiPkdydW5kc3TDvGNrc251bW1lcm46PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4x -MDBFRiI+CjxwIGNsYXNzPSJUYWJUZXh0Ij5OZXVua2lyY2hlbjwvcD4KPHAgY2xh -c3M9IlRhYlRleHQiPlRlcm5pdHo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5EdW5r -ZWxzdGVpbiAoMjMzMDMpPC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+NzM0LzE8L3A+ -CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxMDgiPgo8cCBjbGFzcz0i -VGFiVGV4dFJlY2h0c2IiPkFydCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBj -bGFzcz0iTjEwMTEyIj4KPHAgY2xhc3M9IlRhYlRleHQiPkFsdGFibGFnZXJ1bmc8 -L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxMUYiPgo8cCBjbGFz -cz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBBbHRsYXN0YXVzd2Vpc3VuZzo8 -L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMTI5Ij4KPHAgY2xhc3M9IlRhYlRleHQi -PjE1LjkuMjAwNDwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDEz -NiI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+UHJpb3JpdMOkdGVua2xhc3Nl -OjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAxNDAiPgo8cCBjbGFzcz0iVGFiVGV4 -dCI+MjwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDE0RCI+Cjxw -IGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+RGF0dW0gZGVyIFByaW9yaXTDpHRlbmts -YXNzaWZpemllcnVuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMTU3Ij4KPHAg -Y2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNOKAnAo8L3A+CjwvdGQ+CjwvdHI+Cjwv -dGFibGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+CjxwIGNsYXNzPSJOb3ZBbzEi -PjMuIEltIEFuaGFuZyA0IGxhdXRldCBkZXIgRWludHJhZyBBTFRMQVNUIE81MDo8 -L3A+Cjx0YWJsZSBjbGFzcz0iTjEwMTZCIj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDE3 -NCIgY29sc3Bhbj0iMiI+CjxwIGNsYXNzPSJFcmxVZWJlcnNjaHJMIj4K4oCeQUxU -TEFTVCBPNTA6IFNjaHdlbGxlbmltcHLDpGduaWVydW5nIFNjaG5lZWdhdHRlcm48 -L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxODQiPgo8cCBjbGFz -cz0iVGFiVGV4dFJlY2h0c2IiPkJlemlyazo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0 -UmVjaHRzYiI+R2VtZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2Ii -PkthdGFzdHJhbGdlbWVpbmRlOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNi -Ij5HcnVuZHN0w7xja3NudW1tZXJuOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAx -OUEiPgo8cCBjbGFzcz0iVGFiVGV4dCI+QnJhdW5hdSBhbSBJbm48L3A+CjxwIGNs -YXNzPSJUYWJUZXh0Ij5MZW5nYXU8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5LcmVu -d2FsZCAoNDAxMTQpPC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+NDcwLzEsIDUyMy81 -LCA2MDQvMywgOTU2LCA5ODUvNCwgOTg2Lzc8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4K -PHRkIGNsYXNzPSJOMTAxQjMiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFy -dCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMUJEIj4KPHAg -Y2xhc3M9IlRhYlRleHQiPkFsdHN0YW5kb3J0PC9wPgo8L3RkPgo8L3RyPgo8dHI+ -Cjx0ZCBjbGFzcz0iTjEwMUNBIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5E -YXR1bSBkZXIgQWx0bGFzdGF1c3dlaXN1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9 -Ik4xMDFENCI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4yMS44LjIwMDE8L3A+CjwvdGQ+ -CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAxRTEiPgo8cCBjbGFzcz0iVGFiVGV4 -dFJlY2h0c2IiPlByaW9yaXTDpHRlbmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFz -cz0iTjEwMUVCIj4KPHAgY2xhc3M9IlRhYlRleHQiPjM8L3A+CjwvdGQ+CjwvdHI+ -Cjx0cj4KPHRkIGNsYXNzPSJOMTAxRjgiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0 -c2IiPkRhdHVtIGRlciBQcmlvcml0w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9wPgo8 -L3RkPgo8dGQgY2xhc3M9Ik4xMDIwMiI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4xNS45 -LjIwMDTigJwKPC9wPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iQWJz -dGFuZCI+PC9wPgo8cCBjbGFzcz0iTm92QW8xIj40LiBJbSBBbmhhbmcgNCBsYXV0 -ZW4gZGllIEVpbnRyw6RnZSBBTFRMQVNUIE82MCBiaXMgTzYyOjwvcD4KPHRhYmxl -IGNsYXNzPSJOMTAyMTYiPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMjFGIiBjb2xzcGFu -PSIyIj4KPHAgY2xhc3M9IkVybFVlYmVyc2NockwiPgrigJ5BTFRMQVNUIE82MDog -UHV0emVyZWkgRXhjbHVzaXYgU2Nod2FiPC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0 -ZCBjbGFzcz0iTjEwMjJGIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5CZXpp -cms6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdlbWVpbmRlOjwvcD4K -PHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5LYXRhc3RyYWxnZW1laW5kZTo8L3A+ -CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+R3J1bmRzdMO8Y2tzbnVtbWVybjo8 -L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMjQ1Ij4KPHAgY2xhc3M9IlRhYlRleHQi -Pkxpbno8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0i -VGFiVGV4dCI+VXJmYWhyICg0NTIxMik8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij4u -MzE4Lzc8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAyNUUiPgo8 -cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFydCBkZXIgQWx0bGFzdDo8L3A+Cjwv -dGQ+Cjx0ZCBjbGFzcz0iTjEwMjY4Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkFsdHN0 -YW5kb3J0PC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMjc1Ij4K -PHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5EYXR1bSBkZXIgQWx0bGFzdGF1c3dl -aXN1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDI3RiI+CjxwIGNsYXNzPSJU -YWJUZXh0Ij4yOS44LjIwMDM8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNz -PSJOMTAyOEMiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPlByaW9yaXTDpHRl -bmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwMjk2Ij4KPHAgY2xhc3M9 -IlRhYlRleHQiPjE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTAy -QTMiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBQcmlvcml0 -w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDJB -RCI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+CjwvdHI+ -CjwvdGFibGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+Cjx0YWJsZSBjbGFzcz0i -TjEwMkJCIj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDJDNCIgY29sc3Bhbj0iMiI+Cjxw -IGNsYXNzPSJFcmxVZWJlcnNjaHJMIj5BTFRMQVNUIE82MTogUHV0emVyZWkgU3rD -tnRzPC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMkQyIj4KPHAg -Y2xhc3M9IlRhYlRleHRSZWNodHNiIj5CZXppcms6PC9wPgo8cCBjbGFzcz0iVGFi -VGV4dFJlY2h0c2IiPkdlbWVpbmRlOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNo -dHNiIj5LYXRhc3RyYWxnZW1laW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVj -aHRzYiI+R3J1bmRzdMO8Y2tzbnVtbWVybjo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0i -TjEwMkU4Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkxpbno8L3A+CjxwIGNsYXNzPSJU -YWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+VXJmYWhyICg0NTIx -Mik8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij4uOTAwPC9wPgo8L3RkPgo8L3RyPgo8 -dHI+Cjx0ZCBjbGFzcz0iTjEwMzAxIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNi -Ij5BcnQgZGVyIEFsdGxhc3Q6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDMwQiI+ -CjxwIGNsYXNzPSJUYWJUZXh0Ij5BbHRzdGFuZG9ydDwvcD4KPC90ZD4KPC90cj4K -PHRyPgo8dGQgY2xhc3M9Ik4xMDMxOCI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRz -YiI+RGF0dW0gZGVyIEFsdGxhc3RhdXN3ZWlzdW5nOjwvcD4KPC90ZD4KPHRkIGNs -YXNzPSJOMTAzMjIiPgo8cCBjbGFzcz0iVGFiVGV4dCI+MTUuOS4yMDAzPC9wPgo8 -L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMzJGIj4KPHAgY2xhc3M9IlRh -YlRleHRSZWNodHNiIj5Qcmlvcml0w6R0ZW5rbGFzc2U6PC9wPgo8L3RkPgo8dGQg -Y2xhc3M9Ik4xMDMzOSI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4yPC9wPgo8L3RkPgo8 -L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwMzQ2Ij4KPHAgY2xhc3M9IlRhYlRleHRS -ZWNodHNiIj5EYXR1bSBkZXIgUHJpb3JpdMOkdGVua2xhc3NpZml6aWVydW5nOjwv -cD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAzNTAiPgo8cCBjbGFzcz0iVGFiVGV4dCI+ -MTUuOS4yMDA0PC9wPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iQWJz -dGFuZCI+PC9wPgo8dGFibGUgY2xhc3M9Ik4xMDM1RSI+Cjx0cj4KPHRkIGNsYXNz -PSJOMTAzNjciIGNvbHNwYW49IjIiPgo8cCBjbGFzcz0iRXJsVWViZXJzY2hyTCI+ -QUxUTEFTVCBPNjI6IFB1dHplcmVpIFNjaHdhYi1Ob3JnZTwvcD4KPC90ZD4KPC90 -cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDM3NSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVj -aHRzYiI+QmV6aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5HZW1l -aW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+S2F0YXN0cmFsZ2Vt -ZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdydW5kc3TDvGNr -c251bW1lcm46PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDM4QiI+CjxwIGNsYXNz -PSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+TGluejwvcD4K -PHAgY2xhc3M9IlRhYlRleHQiPlVyZmFociAoNDUyMTIpPC9wPgo8cCBjbGFzcz0i -VGFiVGV4dCI+LjQ2NjwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4x -MDNBNCI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+QXJ0IGRlciBBbHRsYXN0 -OjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAzQUUiPgo8cCBjbGFzcz0iVGFiVGV4 -dCI+QWx0c3RhbmRvcnQ8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJO -MTAzQkIiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBBbHRs -YXN0YXVzd2Vpc3VuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwM0M1Ij4KPHAg -Y2xhc3M9IlRhYlRleHQiPjEwLjkuMjAwMzwvcD4KPC90ZD4KPC90cj4KPHRyPgo8 -dGQgY2xhc3M9Ik4xMDNEMiI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+UHJp -b3JpdMOkdGVua2xhc3NlOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTAzREMiPgo8 -cCBjbGFzcz0iVGFiVGV4dCI+MTwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xh -c3M9Ik4xMDNFOSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+RGF0dW0gZGVy -IFByaW9yaXTDpHRlbmtsYXNzaWZpemllcnVuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFz -cz0iTjEwM0YzIj4KPHAgY2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNOKAnAo8L3A+ -CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+Cjxw -IGNsYXNzPSJOb3ZBbzEiPjUuIEltIEFuaGFuZyA0IGxhdXRldCBkZXIgRWludHJh -ZyBBTFRMQVNUIE82NDo8L3A+Cjx0YWJsZSBjbGFzcz0iTjEwNDA3Ij4KPHRyPgo8 -dGQgY2xhc3M9Ik4xMDQxMCIgY29sc3Bhbj0iMiI+CjxwIGNsYXNzPSJFcmxVZWJl -cnNjaHJMIj4K4oCeQUxUTEFTVCBPNjQ6IEtpdHptYW50ZWw8L3A+CjwvdGQ+Cjwv -dHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA0MjAiPgo8cCBjbGFzcz0iVGFiVGV4dFJl -Y2h0c2IiPkJlemlyazo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+R2Vt -ZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkthdGFzdHJhbGdl -bWVpbmRlOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5HcnVuZHN0w7xj -a3NudW1tZXJuOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTA0MzYiPgo8cCBjbGFz -cz0iVGFiVGV4dCI+R211bmRlbjwvcD4KPHAgY2xhc3M9IlRhYlRleHQiPlZvcmNo -ZG9yZjwvcD4KPHAgY2xhc3M9IlRhYlRleHQiPlZvcmNoZG9yZiAoNDIxNjQpPC9w -Pgo8cCBjbGFzcz0iVGFiVGV4dCI+Mzc2LzE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4K -PHRkIGNsYXNzPSJOMTA0NEYiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFy -dCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNDU5Ij4KPHAg -Y2xhc3M9IlRhYlRleHQiPkFsdGFibGFnZXJ1bmc8L3A+CjwvdGQ+CjwvdHI+Cjx0 -cj4KPHRkIGNsYXNzPSJOMTA0NjYiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2Ii -PkRhdHVtIGRlciBBbHRsYXN0YXVzd2Vpc3VuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFz -cz0iTjEwNDcwIj4KPHAgY2xhc3M9IlRhYlRleHQiPjI1LjEyLjIwMDM8L3A+Cjwv -dGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA0N0QiPgo8cCBjbGFzcz0iVGFi -VGV4dFJlY2h0c2IiPlByaW9yaXTDpHRlbmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBj -bGFzcz0iTjEwNDg3Ij4KPHAgY2xhc3M9IlRhYlRleHQiPjM8L3A+CjwvdGQ+Cjwv -dHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA0OTQiPgo8cCBjbGFzcz0iVGFiVGV4dFJl -Y2h0c2IiPkRhdHVtIGRlciBQcmlvcml0w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9w -Pgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDQ5RSI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4x -NS45LjIwMDTigJwKPC9wPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0i -QWJzdGFuZCI+PC9wPgo8cCBjbGFzcz0iTm92QW8xIj42LiBJbSBBbmhhbmcgNCB3 -ZXJkZW4gZm9sZ2VuZGUgRWludHLDpGdlIEFMVExBU1QgTzY1IGJpcyBPNjcgYW5n -ZWbDvGd0OjwvcD4KPHRhYmxlIGNsYXNzPSJOMTA0QjIiPgo8dHI+Cjx0ZCBjbGFz -cz0iTjEwNEJCIiBjb2xzcGFuPSIyIj4KPHAgY2xhc3M9IkVybFVlYmVyc2Nockwi -PgrigJ5BTFRMQVNUIE82NTogUmFwcGVyc2JlcmdlciBDaGVtaWthbGllbjwvcD4K -PC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Ik4xMDRDQiI+CjxwIGNsYXNzPSJU -YWJUZXh0UmVjaHRzYiI+QmV6aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNo -dHNiIj5HZW1laW5kZTo8L3A+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+S2F0 -YXN0cmFsZ2VtZWluZGU6PC9wPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdy -dW5kc3TDvGNrc251bW1lcm46PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDRFMSI+ -CjxwIGNsYXNzPSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+ -TGluejwvcD4KPHAgY2xhc3M9IlRhYlRleHQiPlVyZmFociAoNDUyMTIpPC9wPgo8 -cCBjbGFzcz0iVGFiVGV4dCI+NDgyLzE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRk -IGNsYXNzPSJOMTA0RkEiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkFydCBk -ZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNTA0Ij4KPHAgY2xh -c3M9IlRhYlRleHQiPkFsdHN0YW5kb3J0PC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0 -ZCBjbGFzcz0iTjEwNTExIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5EYXR1 -bSBkZXIgQWx0bGFzdGF1c3dlaXN1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4x -MDUxQiI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+Cjwv -dHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1MjgiPgo8cCBjbGFzcz0iVGFiVGV4dFJl -Y2h0c2IiPlByaW9yaXTDpHRlbmtsYXNzZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0i -TjEwNTMyIj4KPHAgY2xhc3M9IlRhYlRleHQiPi08L3A+CjwvdGQ+CjwvdHI+Cjx0 -cj4KPHRkIGNsYXNzPSJOMTA1M0YiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2Ii -PkRhdHVtIGRlciBQcmlvcml0w6R0ZW5rbGFzc2lmaXppZXJ1bmc6PC9wPgo8L3Rk -Pgo8dGQgY2xhc3M9Ik4xMDU0OSI+CjxwIGNsYXNzPSJUYWJUZXh0Ij4tPC9wPgo8 -L3RkPgo8L3RyPgo8L3RhYmxlPgo8cCBjbGFzcz0iQWJzdGFuZCI+PC9wPgo8dGFi -bGUgY2xhc3M9Ik4xMDU1NyI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1NjAiIGNvbHNw -YW49IjIiPgo8cCBjbGFzcz0iRXJsVWViZXJzY2hyTCI+QUxUTEFTVCBPNjY6IFB1 -dHplcmVpIEvDpGZlcmLDtmNrPC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFz -cz0iTjEwNTZFIj4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5CZXppcms6PC9w -Pgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdlbWVpbmRlOjwvcD4KPHAgY2xh -c3M9IlRhYlRleHRSZWNodHNiIj5LYXRhc3RyYWxnZW1laW5kZTo8L3A+CjxwIGNs -YXNzPSJUYWJUZXh0UmVjaHRzYiI+R3J1bmRzdMO8Y2tzbnVtbWVybjo8L3A+Cjwv -dGQ+Cjx0ZCBjbGFzcz0iTjEwNTg0Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkxpbno8 -L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4 -dCI+VXJmYWhyICg0NTIxMik8L3A+CjxwIGNsYXNzPSJUYWJUZXh0Ij4uMzcyLzI8 -L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1OUQiPgo8cCBjbGFz -cz0iVGFiVGV4dFJlY2h0c2IiPkFydCBkZXIgQWx0bGFzdDo8L3A+CjwvdGQ+Cjx0 -ZCBjbGFzcz0iTjEwNUE3Ij4KPHAgY2xhc3M9IlRhYlRleHQiPkFsdHN0YW5kb3J0 -PC9wPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0iTjEwNUI0Ij4KPHAgY2xh -c3M9IlRhYlRleHRSZWNodHNiIj5EYXR1bSBkZXIgQWx0bGFzdGF1c3dlaXN1bmc6 -PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDVCRSI+CjxwIGNsYXNzPSJUYWJUZXh0 -Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1 -Q0IiPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPlByaW9yaXTDpHRlbmtsYXNz -ZTo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNUQ1Ij4KPHAgY2xhc3M9IlRhYlRl -eHQiPjE8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJOMTA1RTIiPgo8 -cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBQcmlvcml0w6R0ZW5r -bGFzc2lmaXppZXJ1bmc6PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDVFQyI+Cjxw -IGNsYXNzPSJUYWJUZXh0Ij4xNS45LjIwMDQ8L3A+CjwvdGQ+CjwvdHI+CjwvdGFi -bGU+CjxwIGNsYXNzPSJBYnN0YW5kIj48L3A+Cjx0YWJsZSBjbGFzcz0iTjEwNUZB -Ij4KPHRyPgo8dGQgY2xhc3M9Ik4xMDYwMyIgY29sc3Bhbj0iMiI+CjxwIGNsYXNz -PSJFcmxVZWJlcnNjaHJMIj5BTFRMQVNUIE82NzogQlAtVGFua2xhZ2VyIExpbnog -MSBhbHQgLSBTY2hhZGVuc2ZhbGwgU0YyQTwvcD4KPC90ZD4KPC90cj4KPHRyPgo8 -dGQgY2xhc3M9Ik4xMDYxMSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+QmV6 -aXJrOjwvcD4KPHAgY2xhc3M9IlRhYlRleHRSZWNodHNiIj5HZW1laW5kZTo8L3A+ -CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+S2F0YXN0cmFsZ2VtZWluZGU6PC9w -Pgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkdydW5kc3TDvGNrc251bW1lcm46 -PC9wPgo8L3RkPgo8dGQgY2xhc3M9Ik4xMDYyNyI+CjxwIGNsYXNzPSJUYWJUZXh0 -Ij5MaW56PC9wPgo8cCBjbGFzcz0iVGFiVGV4dCI+TGluejwvcD4KPHAgY2xhc3M9 -IlRhYlRleHQiPkx1c3RlbmF1ICg0NTIwNCk8L3A+CjxwIGNsYXNzPSJUYWJUZXh0 -Ij4xNDg1LzIsIDE0ODUvODwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9 -Ik4xMDY0MCI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+QXJ0IGRlciBBbHRs -YXN0OjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTA2NEEiPgo8cCBjbGFzcz0iVGFi -VGV4dCI+QWx0c3RhbmRvcnQ8L3A+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNz -PSJOMTA2NTciPgo8cCBjbGFzcz0iVGFiVGV4dFJlY2h0c2IiPkRhdHVtIGRlciBB -bHRsYXN0YXVzd2Vpc3VuZzo8L3A+CjwvdGQ+Cjx0ZCBjbGFzcz0iTjEwNjYxIj4K -PHAgY2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNDwvcD4KPC90ZD4KPC90cj4KPHRy -Pgo8dGQgY2xhc3M9Ik4xMDY2RSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+ -UHJpb3JpdMOkdGVua2xhc3NlOjwvcD4KPC90ZD4KPHRkIGNsYXNzPSJOMTA2Nzgi -Pgo8cCBjbGFzcz0iVGFiVGV4dCI+MzwvcD4KPC90ZD4KPC90cj4KPHRyPgo8dGQg -Y2xhc3M9Ik4xMDY4NSI+CjxwIGNsYXNzPSJUYWJUZXh0UmVjaHRzYiI+RGF0dW0g -ZGVyIFByaW9yaXTDpHRlbmtsYXNzaWZpemllcnVuZzo8L3A+CjwvdGQ+Cjx0ZCBj -bGFzcz0iTjEwNjhGIj4KPHAgY2xhc3M9IlRhYlRleHQiPjE1LjkuMjAwNOKAnAo8 -L3A+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxwIGNsYXNzPSJVbnRlcnNjaHJMIj5Q -csO2bGw8L3A+Cgo8cCBjbGFzcz0iRnVzc3plaWxlIj53d3cucmlzLmJrYS5ndi5h -dDwvcD4KPC9kaXY+CjwvYm9keT4KCjwvaHRtbD4=</sl11:Base64Content></sl11:HashInputData><sl11:SignatureCheck><sl11:Code>0</sl11:Code></sl11:SignatureCheck><sl11:SignatureManifestCheck><sl11:Code>98</sl11:Code></sl11:SignatureManifestCheck><sl11:SignatureManifestCheck><sl11:Code>0</sl11:Code></sl11:SignatureManifestCheck><sl11:CertificateCheck><sl10:Code>1</sl10:Code></sl11:CertificateCheck></sl11:VerifyXMLSignatureResponse> |