From 4075bf26b65cf2be4c55f2e9cbdc1b854a41dbce Mon Sep 17 00:00:00 2001 From: pdanner Date: Wed, 5 Sep 2007 10:02:19 +0000 Subject: removed obsolete files git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@990 d688527b-c9ab-4aba-bd8d-4036d912da1d --- spss.slinterface/.classpath | 20 - spss.slinterface/.project | 28 - spss.slinterface/WEB-INF/web.xml | 99 - spss.slinterface/build.xml | 199 -- spss.slinterface/conf/log4j/log4j.properties | 25 - spss.slinterface/conf/moa-sl/moa-sl.properties | 59 - .../conf/moa-spss/spss.config.fragment | 7 - .../trustprofiles/moa-sl-test/isolde.buergerin.der | Bin 987 -> 0 bytes spss.slinterface/conf/tomcat/server.xml | 147 - spss.slinterface/conf/tomcat/unix/moa-env.sh | 16 - spss.slinterface/conf/tomcat/win32/starttomcat.bat | 45 - spss.slinterface/conf/tomcat/win32/stoptomcat.bat | 24 - spss.slinterface/handbook/common/LogoBKA.png | Bin 8062 -> 0 bytes spss.slinterface/handbook/common/LogoMoa4c.jpg | Bin 45624 -> 0 bytes spss.slinterface/handbook/common/LogoMoaBw.jpg | Bin 41375 -> 0 bytes spss.slinterface/handbook/common/MOA.css | 300 -- spss.slinterface/handbook/constraints.txt | 6 - spss.slinterface/handbook/index.html | 41 - .../handbook/operation/images/testapp.screen1.png | Bin 38150 -> 0 bytes .../handbook/operation/images/testapp.screen2.png | Bin 44749 -> 0 bytes .../handbook/operation/images/testapp.screen3.png | Bin 16625 -> 0 bytes .../handbook/operation/images/testapp.screen4.png | Bin 40110 -> 0 bytes spss.slinterface/handbook/operation/operation.html | 1351 --------- .../handbook/system/images/Zusammenspiel.VSD | Bin 138240 -> 0 bytes .../handbook/system/images/Zusammenspiel.mit.png | Bin 48649 -> 0 bytes .../handbook/system/images/Zusammenspiel.ohne.png | Bin 36106 -> 0 bytes spss.slinterface/handbook/system/system.html | 529 ---- spss.slinterface/lib/axis-1.0/axis-ant.jar | Bin 385010 -> 0 bytes spss.slinterface/lib/axis-1.0/axis.jar | Bin 1235721 -> 0 bytes spss.slinterface/lib/axis-1.0/jaxrpc.jar | Bin 35759 -> 0 bytes spss.slinterface/lib/axis-1.0/saaj.jar | Bin 18501 -> 0 bytes spss.slinterface/lib/axis-1.0/wsdl4j.jar | Bin 113853 -> 0 bytes .../commons-discovery-0.2/commons-discovery.jar | Bin 71442 -> 0 bytes .../commons-fileupload-1.0.jar | Bin 22379 -> 0 bytes .../lib/commons-logging-1.0.4/commons-logging.jar | Bin 31605 -> 0 bytes spss.slinterface/lib/log4j-1.2.7/log4j-1.2.7.jar | Bin 350677 -> 0 bytes .../lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip | Bin 31362 -> 0 bytes spss.slinterface/lib/xalan-2.5.1/xalan.jar | Bin 2907319 -> 0 bytes spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar | Bin 1010806 -> 0 bytes .../lib/xerces-2.6.2/xmlParserAPIs.jar | Bin 124724 -> 0 bytes spss.slinterface/pages/images/LogoMoa4c.png | Bin 8222 -> 0 bytes spss.slinterface/pages/resultOverview.jsp | 270 -- spss.slinterface/pages/test/bildspeicher/bild2.jpg | Bin 634 -> 0 bytes spss.slinterface/pages/test/dataURL.jsp | 44 - .../pages/test/forms/verify.default.jsp | 99 - .../pages/test/forms/verify.slxhtml.jsp | 99 - spss.slinterface/pages/test/stylesheet.xsl | 29 - .../res/resources/schemas/Core.20020225.xsd | 399 --- .../res/resources/schemas/Core.20020831.xsd | 153 - .../res/resources/schemas/Core.20031231.xsd | 58 - .../res/resources/schemas/MOA-SPSS-1.3.xsd | 469 --- .../schemas/slxhtml-1.0/slxhtml-model-1.xsd | 388 --- .../slxhtml-1.0/slxhtml-module-redefines-1.xsd | 253 -- .../res/resources/schemas/slxhtml-1.0/slxhtml.xsd | 173 -- .../schemas/slxhtml-1.0/xhtml-attribs-1.xsd | 47 - .../schemas/slxhtml-1.0/xhtml-blkphras-1.xsd | 161 - .../schemas/slxhtml-1.0/xhtml-blkpres-1.xsd | 42 - .../schemas/slxhtml-1.0/xhtml-blkstruct-1.xsd | 57 - .../schemas/slxhtml-1.0/xhtml-charent-1.xsd | 41 - .../schemas/slxhtml-1.0/xhtml-copyright-1.xsd | 26 - .../schemas/slxhtml-1.0/xhtml-datatypes-1.xsd | 147 - .../schemas/slxhtml-1.0/xhtml-framework-1.xsd | 80 - .../schemas/slxhtml-1.0/xhtml-image-1.xsd | 49 - .../schemas/slxhtml-1.0/xhtml-inlphras-1.xsd | 226 -- .../schemas/slxhtml-1.0/xhtml-inlstruct-1.xsd | 53 - .../schemas/slxhtml-1.0/xhtml-inlstyle-1.xsd | 27 - .../resources/schemas/slxhtml-1.0/xhtml-list-1.xsd | 128 - .../schemas/slxhtml-1.0/xhtml-notations-1.xsd | 99 - .../schemas/slxhtml-1.0/xhtml-struct-1.xsd | 103 - .../schemas/slxhtml-1.0/xhtml-style-1.xsd | 51 - .../schemas/slxhtml-1.0/xhtml-table-1.xsd | 323 -- .../resources/schemas/slxhtml-1.0/xhtml-text-1.xsd | 70 - .../res/resources/schemas/slxhtml-1.0/xml.xsd | 81 - spss.slinterface/res/resources/schemas/xml.xsd | 81 - .../res/resources/schemas/xmldsig-core-schema.xsd | 322 -- .../res/resources/stylesheets/moa2sl.xsl | 96 - .../res/resources/stylesheets/sl2moa.xsl | 218 -- .../res/resources/test/simpleVerReq.moa.xml | 29 - .../res/resources/test/simpleVerReq.sl11.xml | 100 - .../test/simpleVerReq.sl12.locref.moa.xml | 1 - .../resources/test/simpleVerReq.sl12.locref.xml | 20 - .../res/resources/test/simpleVerReq.xml | 100 - spss.slinterface/res/resources/test/test.xml | 2 - spss.slinterface/res/resources/test/test.xsl | 14 - .../res/resources/test/verifyresponse.moa.sl.xml | 25 - .../res/resources/test/verifyresponse.moa.xml | 46 - .../moa/spss/slinterface/Constants.java | 91 - .../egovernment/moa/spss/slinterface/DOMUtils.java | 169 -- .../moa/spss/slinterface/URLRewriter.java | 157 - .../gv/egovernment/moa/spss/slinterface/Utils.java | 51 - .../moa/spss/slinterface/XPathUtils.java | 162 - .../moa/spss/slinterface/beans/ChecksInfoBean.java | 165 - .../moa/spss/slinterface/beans/DataInfoBean.java | 541 ---- .../spss/slinterface/beans/HashInputDataInfo.java | 55 - .../spss/slinterface/beans/InitPropertiesBean.java | 36 - .../moa/spss/slinterface/beans/SignerInfoBean.java | 127 - .../spss/slinterface/filters/RequestWrapper.java | 57 - .../spss/slinterface/filters/ResponseWrapper.java | 44 - .../moa/spss/slinterface/filters/SL2MOAFilter.java | 381 --- .../slinterface/filters/ServletInputStream.java | 55 - .../slinterface/filters/ServletOutputStream.java | 50 - .../slinterface/listeners/ContextListener.java | 214 -- .../listeners/XMLParserErrorHandler.java | 65 - .../spss/slinterface/moainvoker/MOAInvoker.java | 92 - .../slinterface/servlets/HashInputDataServlet.java | 93 - .../moa/spss/slinterface/servlets/MOAServlet.java | 113 - .../spss/slinterface/servlets/ReturnServlet.java | 129 - .../moa/spss/slinterface/servlets/SLRequest.java | 19 - .../moa/spss/slinterface/transformers/MOA2SL.java | 93 - .../moa/spss/slinterface/transformers/QName.java | 51 - .../moa/spss/slinterface/transformers/SL2MOA.java | 337 --- .../moa/spss/slinterface/transformers/Utils.java | 129 - .../moa/spss/slinterface/DataURLBean.java | 46 - .../moa/spss/slinterface/DataURLServlet.java | 83 - .../moa/spss/slinterface/RewriteServlet.java | 73 - .../test/moa-wartung-la17/dokument.xml | 1 - .../test/moa-wartung-la17/signatur.xml | 23 - .../test/moa-wartung-la17/stylesheet.xsl | 17 - spss.slinterface/test/moa-wartung-la17/verify.jsp | 80 - .../test/moa-wartung-la17/verifyRequest.xml | 40 - .../test/moa-wartung-la9/106_2006.img1is.gif | Bin 88 -> 0 bytes .../test/moa-wartung-la9/106_2006.img2is.gif | Bin 88 -> 0 bytes .../test/moa-wartung-la9/106_2006.img3is.gif | Bin 88 -> 0 bytes .../BGBl__II_Nr__106_2006.iso8859.xml | 79 - .../moa-wartung-la9/BGBl__II_Nr__106_2006.utf8.xml | 79 - .../BGBl__II_Nr__204_2006.iso8859.xml | 43 - .../moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml | 43 - .../BGBl__II_Nr__341_2004.iso8859.xml | 550 ---- .../moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml | 550 ---- .../test/moa-wartung-la9/moa-wartung-la9.zip | Bin 129537 -> 0 bytes .../signatur_BGBl__II_Nr__106_2006.xml | 29 - .../signatur_BGBl__II_Nr__204_2006.xml | 29 - .../signatur_BGBl__II_Nr__341_2004.xml | 29 - .../test/moa-wartung-la9/stylesheet.1.8.6.xsl | 3182 -------------------- .../test/moa-wartung-la9/stylesheet.1.9.0.xsl | 1897 ------------ .../test/moa-wartung-la9/stylesheet.1.9.1.xsl | 1954 ------------ .../verifyRequest.106_2006.iso8859.xml | 34 - .../verifyRequest.106_2006.utf8.xml | 34 - .../verifyRequest.204_2006.iso8859.xml | 19 - .../verifyRequest.204_2006.utf8.xml | 19 - .../verifyRequest.341_2004.iso8859.xml | 19 - .../verifyRequest.341_2004.utf8.xml | 19 - .../verifyResponse.106_2006.iso8859.xml | 558 ---- .../verifyResponse.106_2006.utf8.xml | 558 ---- .../verifyResponse.204_2006.iso8859.xml | 485 --- .../verifyResponse.204_2006.utf8.xml | 485 --- .../verifyResponse.341_2004.iso8859.xml | 1166 ------- .../verifyResponse.341_2004.utf8.xml | 1166 ------- 148 files changed, 25060 deletions(-) delete mode 100644 spss.slinterface/.classpath delete mode 100644 spss.slinterface/.project delete mode 100644 spss.slinterface/WEB-INF/web.xml delete mode 100644 spss.slinterface/build.xml delete mode 100644 spss.slinterface/conf/log4j/log4j.properties delete mode 100644 spss.slinterface/conf/moa-sl/moa-sl.properties delete mode 100644 spss.slinterface/conf/moa-spss/spss.config.fragment delete mode 100644 spss.slinterface/conf/moa-spss/trustprofiles/moa-sl-test/isolde.buergerin.der delete mode 100644 spss.slinterface/conf/tomcat/server.xml delete mode 100644 spss.slinterface/conf/tomcat/unix/moa-env.sh delete mode 100644 spss.slinterface/conf/tomcat/win32/starttomcat.bat delete mode 100644 spss.slinterface/conf/tomcat/win32/stoptomcat.bat delete mode 100644 spss.slinterface/handbook/common/LogoBKA.png delete mode 100644 spss.slinterface/handbook/common/LogoMoa4c.jpg delete mode 100644 spss.slinterface/handbook/common/LogoMoaBw.jpg delete mode 100644 spss.slinterface/handbook/common/MOA.css delete mode 100644 spss.slinterface/handbook/constraints.txt delete mode 100644 spss.slinterface/handbook/index.html delete mode 100644 spss.slinterface/handbook/operation/images/testapp.screen1.png delete mode 100644 spss.slinterface/handbook/operation/images/testapp.screen2.png delete mode 100644 spss.slinterface/handbook/operation/images/testapp.screen3.png delete mode 100644 spss.slinterface/handbook/operation/images/testapp.screen4.png delete mode 100644 spss.slinterface/handbook/operation/operation.html delete mode 100644 spss.slinterface/handbook/system/images/Zusammenspiel.VSD delete mode 100644 spss.slinterface/handbook/system/images/Zusammenspiel.mit.png delete mode 100644 spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png delete mode 100644 spss.slinterface/handbook/system/system.html delete mode 100644 spss.slinterface/lib/axis-1.0/axis-ant.jar delete mode 100644 spss.slinterface/lib/axis-1.0/axis.jar delete mode 100644 spss.slinterface/lib/axis-1.0/jaxrpc.jar delete mode 100644 spss.slinterface/lib/axis-1.0/saaj.jar delete mode 100644 spss.slinterface/lib/axis-1.0/wsdl4j.jar delete mode 100644 spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar delete mode 100644 spss.slinterface/lib/commons-fileupload-1.0/commons-fileupload-1.0.jar delete mode 100644 spss.slinterface/lib/commons-logging-1.0.4/commons-logging.jar delete mode 100644 spss.slinterface/lib/log4j-1.2.7/log4j-1.2.7.jar delete mode 100644 spss.slinterface/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip delete mode 100644 spss.slinterface/lib/xalan-2.5.1/xalan.jar delete mode 100644 spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar delete mode 100644 spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar delete mode 100644 spss.slinterface/pages/images/LogoMoa4c.png delete mode 100644 spss.slinterface/pages/resultOverview.jsp delete mode 100644 spss.slinterface/pages/test/bildspeicher/bild2.jpg delete mode 100644 spss.slinterface/pages/test/dataURL.jsp delete mode 100644 spss.slinterface/pages/test/forms/verify.default.jsp delete mode 100644 spss.slinterface/pages/test/forms/verify.slxhtml.jsp delete mode 100644 spss.slinterface/pages/test/stylesheet.xsl delete mode 100644 spss.slinterface/res/resources/schemas/Core.20020225.xsd delete mode 100644 spss.slinterface/res/resources/schemas/Core.20020831.xsd delete mode 100644 spss.slinterface/res/resources/schemas/Core.20031231.xsd delete mode 100644 spss.slinterface/res/resources/schemas/MOA-SPSS-1.3.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-model-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml-module-redefines-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/slxhtml.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-attribs-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkphras-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkpres-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-blkstruct-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-charent-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-copyright-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-datatypes-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-framework-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-image-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlphras-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstruct-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-inlstyle-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-list-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-notations-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-struct-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-style-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-table-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xhtml-text-1.xsd delete mode 100644 spss.slinterface/res/resources/schemas/slxhtml-1.0/xml.xsd delete mode 100644 spss.slinterface/res/resources/schemas/xml.xsd delete mode 100644 spss.slinterface/res/resources/schemas/xmldsig-core-schema.xsd delete mode 100644 spss.slinterface/res/resources/stylesheets/moa2sl.xsl delete mode 100644 spss.slinterface/res/resources/stylesheets/sl2moa.xsl delete mode 100644 spss.slinterface/res/resources/test/simpleVerReq.moa.xml delete mode 100644 spss.slinterface/res/resources/test/simpleVerReq.sl11.xml delete mode 100644 spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.moa.xml delete mode 100644 spss.slinterface/res/resources/test/simpleVerReq.sl12.locref.xml delete mode 100644 spss.slinterface/res/resources/test/simpleVerReq.xml delete mode 100644 spss.slinterface/res/resources/test/test.xml delete mode 100644 spss.slinterface/res/resources/test/test.xsl delete mode 100644 spss.slinterface/res/resources/test/verifyresponse.moa.sl.xml delete mode 100644 spss.slinterface/res/resources/test/verifyresponse.moa.xml delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Constants.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/DOMUtils.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/URLRewriter.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/Utils.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/XPathUtils.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/ChecksInfoBean.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/HashInputDataInfo.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/InitPropertiesBean.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/beans/SignerInfoBean.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/RequestWrapper.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ResponseWrapper.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletInputStream.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/filters/ServletOutputStream.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/ContextListener.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/listeners/XMLParserErrorHandler.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/moainvoker/MOAInvoker.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/HashInputDataServlet.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/MOAServlet.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/ReturnServlet.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/servlets/SLRequest.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/MOA2SL.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/QName.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/SL2MOA.java delete mode 100644 spss.slinterface/src/at/gv/egovernment/moa/spss/slinterface/transformers/Utils.java delete mode 100644 spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLBean.java delete mode 100644 spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/DataURLServlet.java delete mode 100644 spss.slinterface/src/test/at/gv/egovernment/moa/spss/slinterface/RewriteServlet.java delete mode 100644 spss.slinterface/test/moa-wartung-la17/dokument.xml delete mode 100644 spss.slinterface/test/moa-wartung-la17/signatur.xml delete mode 100644 spss.slinterface/test/moa-wartung-la17/stylesheet.xsl delete mode 100644 spss.slinterface/test/moa-wartung-la17/verify.jsp delete mode 100644 spss.slinterface/test/moa-wartung-la17/verifyRequest.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif delete mode 100644 spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif delete mode 100644 spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif delete mode 100644 spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__106_2006.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip delete mode 100644 spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/stylesheet.1.8.6.xsl delete mode 100644 spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.0.xsl delete mode 100644 spss.slinterface/test/moa-wartung-la9/stylesheet.1.9.1.xsl delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyRequest.106_2006.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyRequest.204_2006.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyRequest.341_2004.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyResponse.106_2006.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyResponse.204_2006.utf8.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.iso8859.xml delete mode 100644 spss.slinterface/test/moa-wartung-la9/verifyResponse.341_2004.utf8.xml (limited to 'spss.slinterface') 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 @@ - - - - - - - - - - - - - - - - - - - - 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 @@ - - - MOA SPSS SL-Interface - - - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - full,incremental, - - - LaunchConfigHandle - <project>/.externalToolBuilders/MOA SL (Ant).launch - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - com.sysdeo.eclipse.tomcat.tomcatnature - - 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 @@ - - - - - - Security-Layer-Interface to MOA SPSS - This web service provides a Security-Layer-Interface to MOA SPSS. - - - SL2MOAFilter - at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter - - - - SL2MOAFilter - MOAServlet - - - - at.gv.egovernment.moa.spss.slinterface.listeners.ContextListener - - - - MOAServlet - MOA Servlet - - at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet - - 0 - - - - HashInputDataServlet - Displays a particular hash input data - - at.gv.egovernment.moa.spss.slinterface.servlets.HashInputDataServlet - - 0 - - - - ReturnServlet - Return servlet - - at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet - - 0 - - - - - DataURLServlet - DataURL test servlet - - test.at.gv.egovernment.moa.spss.slinterface.DataURLServlet - - 0 - - - - - RewriteServlet - URL rewriting test servlet - - test.at.gv.egovernment.moa.spss.slinterface.RewriteServlet - - 0 - - - - MOAServlet - /http-security-layer-request - - - - HashInputDataServlet - /showdata - - - - ReturnServlet - /return - - - - - DataURLServlet - /dataurl - - - - - RewriteServlet - /rewrite - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - set up directories etc. - - - - - - - - - - - - - - compile everything - - - - - - package the server war file - - - - - - - - - - - - - - - - - - - - - create java doc - - - - - - create the webservice distributable - - - - - - - - - - - - - - - - create the webservice-distributable, including all documentation - - - - - - - - - create the zipped webservice distributable - - - - - - - - create the source distributable - - - - - - - - - - - - - - create all distributables - - - - - deploy the webservice to catalina (needs CATALINA_HOME defined) - - - - - - - - - - - - - - - clean temporary files - - - - - - - - - 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://:8080/moa-sl/rewrite - -# Platzhalter für den Hostnamen des Proxys zu MOA SL -rewrite.proxyURL.proxyhostDummy = - -# 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. - - - MOA-SL-Test - trustProfiles/moa-sl-test - 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 deleted file mode 100644 index 1cdc15c6e..000000000 Binary files a/spss.slinterface/conf/moa-spss/trustprofiles/moa-sl-test/isolde.buergerin.der and /dev/null differ 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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= - -rem Java endorsed directory -rem If not set, the catalina scripts default applies (%CATALINA_HOME%/common/endorsed) -rem set JAVA_ENDORSED_DIRS= - -rem ---------------- -rem Tomcat config -rem ---------------- - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME= - -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= - -rem Java endorsed directory -rem If not set, the catalina scripts default applies (%CATALINA_HOME%/common/endorsed) -rem set JAVA_ENDORSED_DIRS= - -rem ---------------- -rem Tomcat config -rem ---------------- - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME= - -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 deleted file mode 100644 index 6a92647fd..000000000 Binary files a/spss.slinterface/handbook/common/LogoBKA.png and /dev/null differ diff --git a/spss.slinterface/handbook/common/LogoMoa4c.jpg b/spss.slinterface/handbook/common/LogoMoa4c.jpg deleted file mode 100644 index a1102090b..000000000 Binary files a/spss.slinterface/handbook/common/LogoMoa4c.jpg and /dev/null differ diff --git a/spss.slinterface/handbook/common/LogoMoaBw.jpg b/spss.slinterface/handbook/common/LogoMoaBw.jpg deleted file mode 100644 index 5a31e3e15..000000000 Binary files a/spss.slinterface/handbook/common/LogoMoaBw.jpg and /dev/null differ 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 @@ - - - - - MOA SL - Übersicht - - - - - - - - - - - - - - - - -
Logo BKAOpen Source
- für das E-Government
Logo MOA
-
- -

MOA: Serverseitige Signaturprüfung (SL)

- -

Übersicht zur Dokumentation der Version 1.0

-
- -
-
Betriebshandbuch
- -
Detaillierte Anleitung für die Installation sowie Erläuterung aller Konfigurationsoptionen.
- -
Systemhandbuch
- -
Beschreibung der einzelnen Komponenten von MOA SL und ihrem Zusammenspiel.
-
- - diff --git a/spss.slinterface/handbook/operation/images/testapp.screen1.png b/spss.slinterface/handbook/operation/images/testapp.screen1.png deleted file mode 100644 index 38a226d09..000000000 Binary files a/spss.slinterface/handbook/operation/images/testapp.screen1.png and /dev/null differ diff --git a/spss.slinterface/handbook/operation/images/testapp.screen2.png b/spss.slinterface/handbook/operation/images/testapp.screen2.png deleted file mode 100644 index 45230d5c9..000000000 Binary files a/spss.slinterface/handbook/operation/images/testapp.screen2.png and /dev/null differ diff --git a/spss.slinterface/handbook/operation/images/testapp.screen3.png b/spss.slinterface/handbook/operation/images/testapp.screen3.png deleted file mode 100644 index 7d5db9cad..000000000 Binary files a/spss.slinterface/handbook/operation/images/testapp.screen3.png and /dev/null differ diff --git a/spss.slinterface/handbook/operation/images/testapp.screen4.png b/spss.slinterface/handbook/operation/images/testapp.screen4.png deleted file mode 100644 index 9fe7ee264..000000000 Binary files a/spss.slinterface/handbook/operation/images/testapp.screen4.png and /dev/null differ 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 @@ - - - - - - MOA SL - Betriebshandbuch - - - - - - - - - - - - - - - - - - - - - - - - -
Logo BKAOpen -Source
- -für das E-Government
Logo MOA
- -
-

MOA: -Serverseitige Signaturprüfung (SL), V 1.1

- -

Betriebshandbuch

- -
-

Inhalt

- -
    - -
  1. -

    Übersicht

    - -
  2. - -
  3. Installation -
      - -
    1. Einführung
    2. - -
    3. Vorbereitung
    4. - -
    5. Konfiguration -von Apache Tomcat -
        - -
      1. Konfiguration -des HTTP Connectors
      2. - -
      3. Konfiguration -des HTTPS Connectors
      4. - -
      - -
    6. - -
    7. Einsatz des -MOA SL Webservices in Tomcat
    8. - -
    9. Starten -und Stoppen von Tomcat -
        - -
      1. Unter -Windows
      2. - -
      3. Unter -Unix
      4. - -
      5. Logging -
          - -
        1. Format -der Log-Meldungen
        2. - -
        - -
      6. - -
      7. Prüfen -des erfolgreichen Starts
      8. - -
      - -
    10. - -
    - -
  4. - -
  5. Konfiguration -
      - -
    1. Zentrale -Konfigurationsdatei -
        - -
      1. XML-Schemata -für Request- und Response-Validierung
      2. - -
      3. Arbeitsverzeichnis
      4. - -
      5. Parameter -der verwendeten MOA SP Installation
      6. - -
      7. Umfang der -Prüfberichtseite
      8. - -
      9. Parameter -für das Umschreiben der Links in der Prüfberichtseite
      10. - -
      - -
    2. - -
    3. Layout des -Prüfberichts
    4. - -
    - -
  6. - -
  7. Durchlaufen der -Testapplikation
  8. - -
- -
-

1 -Übersicht

- -

Das Modul Serverseitige -Signaturprüfung (MOA SL) ist als -plattformunabhängiges Modul ausgelegt, das als Webservice -über HTTP bzw. HTTPS angesprochen werden kann.

- -

Dieses Handbuch beschreibt einerseits die Installation des -Moduls, andererseits werden die Konfigurationsmöglichkeiten -dargestellt. Für eine funktionale Beschreibung des Moduls -siehe Systemhandbuch. -

- -

2 -Installation

- -

2.1 -Einführung

- -

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 1.4.2 oder 5.0) sowie -einen Java Servlet Container, der die Java -Servlet Specification in der Version 2.3 erfüllt.

- -

In diesem Betriebshandbuch wird davon ausgegangen, dass MOA SL -Apache -Tomcat (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.

- -

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 Module -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.

- -

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.

- -

Als Logging Toolkit verwendet das MOA SL Webservice Apache Log4j. -

- -

2.2 Vorbereitung

- -

Die folgenden Schritte dienen der Vorbereitung der -Installation.

- -
- -
Installation von J2SE SDK
- -
Installieren Sie J2SE 1.4.2 SDK -oder J2SE 5.0 -SDK in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der -J2SE SDK Installation wird im weiteren Verlauf als $JAVA_HOME -bezeichnet.
- -
Installation von Apache Tomcat
- -
Installieren Sie Apache -Tomcat 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 $CATALINA_HOME -bezeichnet.
- -
Installation von MOA SP
- -
Installieren Sie das Kombinationsmodul -MOA SPSS 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.
- -
Entpacken der MOA SL Distribution
- -
Entpacken Sie die Datei moa-sl-1.1.x.zip -in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren -Verlauf als $MOA_SL_INST bezeichnet.
- -
- -

2.3 Konfiguration -von Apache Tomcat

- -

Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. -Tomcat wird grundsätzlich mit einer funktionierenden -Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast -enthält und viele Ports offen lässt.

- -

2.3.1 -Konfiguration des HTTP Connectors

- -

Die Datei $MOA_SL_INST/conf/tomcat/server.xml -enthält eine minimale Tomcat-Konfiguration, die -ausschließlich den Connector für HTTP auf Port 8080 -freischaltet. Durch kopieren dieser Datei nach $CATALINA_HOME/conf/server.xml -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. -

- -

2.3.2 -Konfiguration des HTTPS Connectors

- -

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.

- -

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 Tomcat -SSL Configuration HOW-TO gibt einen guten -Überblick dazu. Grob zusammengefasst sind folgende Schritte -durchzuführen:

- -
    - -
  • Erstellung eines Server-Keystores, -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 keytool -erstellen, einem Programm, das Ihrem J2SE SDK beiliegt.
  • - -
  • Erstellung eines Client-Keystores, -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 Client-Keystore enthaltenen -Zertifikat ausweisen, erhalten Zugriff zu den Diensten des MOA SL -Webservices. Auch dieser Keystore kann z.B. mit keytool -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.
  • - -
  • Konfiguration des HTTPS Connectors in $CATALINA_HOME/conf/server.xml.
  • - -
- -

Die Konfiguration des HTTPS Connectors kann entfallen, wenn -Tomcat ein Webserver vorgeschaltet ist, und dieser die -SSL-Kommunikation mit dem Kunden übernimmt (siehe Abschnitt 2.1).

- -

2.4 Einsatz des MOA SL -Webservices in Tomcat

- -

Um das MOA SL Webservice in Tomcat für den Einsatz -vorzubereiten, sind folgende Schritte notwendig:

- -
    - -
  • Die Datei $MOA_SL_INST/moa-sl.war -enthält das einsatzfertige MOA SL Webarchiv und muss ins -Verzeichnis $CATALINA_HOME/webapps kopiert -werden. Dort wird sie beim ersten Start von Tomcat automatisch ins -Verzeichnis $CATALINA_HOME/webapps/moa-sl -entpackt.
  • - -
  • Die zentrale Konfigurationsdatei für MOA SL muss -in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. $CATALINA_HOME/conf/moa-sl/). -Eine funktionsfähige Konfiguration, die als Ausgangspunkt -für die Konfiguration des MOA SL Webservices dienen kann, -finden Sie unter $MOA_SL_INST/conf/moa-sl/moa-sl.properties. -
  • - -
  • Die Dateien xalan.jar, xercesImpl.jar -und xmlParserAPIs.jar aus dem Verzeichnis $MOA_SL_INST/endorsed14 -müssen in das Tomcat-Verzeichnis $CATALINA_HOME/common/endorsed -kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, -müssen sie überschrieben werden. Die ggf. in diesem -Verzeichnis vorhandene Datei xml-apis.jar -muss gelöscht werden.
  • - -
  • Folgende System Properties -für die Java Virtual Machine -müssen bzw. können gesetzt werden. Am einfachsten -können diese System Properties -beim Starten von Tomcat in der Umgebungsvariablen CATALINA_OPTS -in der Form -D<name>=<wert> -übergeben werden. -
      - -
    • at.gv.egovernment.moa.spss.slinterface.PropertiesLocation: -Pfad und Name der zentralen Konfigurationsdatei für MOA SL. -Eine beispielhafte Konfigurationsdatei finden Sie unter $MOA_SL_INST/conf/moa-sl/moa-sl.properties. -Wird ein relativer Pfad angegeben, wird zuerst versucht, diesen relativ -zum Wurzelverzeichnis der Webapplikation (also $CATALINA_HOME/webapps/moa-sl) -zu interpretieren. Klappt das nicht, wird dann versucht, den relativen -Pfad relativ zum Startverzeichnis der Java -Virtual Machine zu interpretieren. Diese System Property muss jedenfalls -gesetzt werden.
    • - -
    • log4j.configuration: -URL der Log4j Konfigurationsdatei. Eine beispielhafte -Log4j-Konfiguration finden Sie unter $MOA_SL_INST/conf/log4j/log4j.properties. Wird eine -relative URL angegeben, wird diese als File-URL relativ zum -Startverzeichnis der Java Virtual -Machine interpretiert. Ist diese System Property nicht -gesetzt, wird automatisch eine im Webarchiv unter WEB-INF/classes -enthaltene Default-Konfiguration herangezogen.
    • - -
    • javax.net.ssl.trustStore: -Pfad und Dateiname des Truststores -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 Java Virtual Machine interpretiert.
    • - -
    • javax.net.ssl.trustStorePassword: -Passwort für den Truststore -(optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL -Client-Authentisierung durchgeführt werden soll).
    • - -
    • javax.net.ssl.trustStoreType: -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 jks (Java Key Store) oder pkcs12 -(PKCS#12-Datei) angegeben werden.
    • - -
    - -
  • - -
- -

2.5 Starten und -Stoppen von Tomcat

- -

2.5.1 -Unter Windows

- -

Das Verzeichnis $MOA_SL_INST/conf/tomcat/win32 -enthält Script-Dateien zum Starten und Stoppen von Tomcat. Vor -der erstmaligen Verwendung der Scripts müssen in den ersten -Zeilen die Umgebungsvariablen JAVA_HOME -(Basisverzeichnis des eingesetzten J2SE SDK) und CATALINA_HOME -(Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst -werden. Evtl. müssen Sie auch noch die in den Script-Dateien -gesetzten, in Abschnitt 2.4 -besprochenen System Properties -anpassen.

- -

2.5.2 Unter -Unix

- -

Zunächst müssen die in Abschnitt 2.4 -besprochenen System Properties -mit Hilfe der Umgebungsvariablen CATALINA_OPTS -gesetzt werden. Die Datei $MOA_SL_INST/tomcat/unix/moa-env.sh -enthält ein Beispiel dafür. Weiters müssen -noch die Umgebungsvariablen JAVA_HOME -(Basisverzeichnis des eingesetzten J2SE SDK) und CATALINA_HOME -(Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst -werden.

- -

Nun kann Tomcat aus seinem Basisverzeichnis mit

- -
bin/catalina.sh start
- -gestartet werden. Das Stoppen von Tomcat erfolgt analog mit -
bin/catalina.sh stop
- -

2.5.3 -Logging

- -

Das MOA SL Webservice verwendet Apache Log4j für die -Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j -bietet zahlreiche Konfigurationsmöglichkeiten, die -ausführlich im Apache -Log4j -Handbuch beschrieben sind. Unter anderem gibt es die -Möglichkeit, folgende Einstellungen vorzunehmen: -

- -
    - -
  • -

    Das verwendete Log-Level (DEBUG, INFO, - WARN, ERROR, FATAL);

    - -
  • - -
  • -

    Name und maximale Größe der -Log-Datei(en);

    - -
  • - -
  • -

    Das Aussehen der Log-Einträge.

    - -
  • - -
- -

Das MOA SL Webservice verwendet für alle -Logeinträge die Log-Hierarchie slinterface. -Für die einzelnen Pakete des MOA SL Webservices werden davon -abgeleitete Sub-Hierarchien eingesetzt, z.B. slinterface.xmlparser, -slinterface.beans oder slinterface.filters.

- -

Eine für MOA SL passende Konfigurationsdatei -für Log4j finden Sie unter $MOA_SL_INST/conf/log4j/log4j.properties. Wird diese -Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen -sowohl in die Konsole, als auch in die Datei $CATALINA_HOME/logs/moa-sl.log -geschrieben.

- -

2.5.3.1 -Format der Log-Meldungen

- -

Anhand einer konkreten Log-Meldung wird das Format der MOA SL -Log-Meldungen erläutert:

- -
INFO | 10 15:58:45,531 | slinterface.listeners | main | 
Web application initialization succeeded..
- -

Der Wert INFO besagt, dass die -Log-Meldung im Log-Level INFO entstanden ist. -Folgende Log-Levels existieren:

- -
    - -
  • -

    DEBUG: Log-Meldungen im Log-Level - DEBUG geben Auskunft über die -innere Arbeitsweise des Systems. Sie sind hauptsächlich -für Entwickler interessant.

    - -
  • - -
  • -

    INFO: Diese Log-Meldungen geben -Status-Informationen über den Ablauf des Webservices, wie z.B. -über das Einlangen einer neuen Anfrage.

    - -
  • - -
  • -

    WARN: Bei der Ausführung -einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des -Webservices ist nicht weiter beeinträchtigt.

    - -
  • - -
  • -

    ERROR: Die Ausführung -einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht -beeinträchtigt.

    - -
  • - -
  • -

    FATAL: Es ist ein Fehler -aufgetreten, der den weiteren Betrieb des Webservices nicht mehr -erlaubt.

    - -
  • - -
- -

Der nächste Wert 10 15:58:45,531 -gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in -diesem Fall den 10. Tag im aktuellen Monat, sowie die genaue Uhrzeit).

- -

Der Wert slinterface.listeners gibt -die Log-Hierarchie an, aus der die Log-Meldung stammt.

- -

Der Wert main bezeichnet den Thread, -aus der die Log-Meldung stammt.

- -

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.

- -

2.5.4 -Prüfen des erfolgreichen Starts

- -

Ein erfolgreicher Start des MOA SL Webservices ist an -folgender Log-Meldung ersichtlich:

- -
INFO | 10 15:58:45,531 | slinterface.listeners | main | 
Web application initialization succeeded..
- -

Konnte das MOA SL Webservice nicht -ordnungsgemäß gestartet werden, führt das -zu folgender Log-Meldung:

- -
FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> 
Web application initialization failed.
- -

In diesem Fall geben die Log-Meldungen -unmittelbar davor Aufschluss über den genaueren Grund.

- -

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.

- -
[Error] xhtml-attribs-1.xsd:xx:xx: src-attribute_group.3: 
Circular definitions detected for attribute group 'xxx'.
Recursively following attribute group references eventually leads back to itself.
[Error] xhtml-attribs-1.xsd:xx:xx: src-redefine.7.2.1:
No attributeGroup in the redefined schema has a name matching 'xx'.
- -

3 -Konfiguration

- -

3.1 -Zentrale Konfigurationsdatei

- -

Alle Konfigurationsparameter von MOA SL mit Ausnahme des -Layouts für den Prüfbericht (siehe Abschnitt 3.2) sind in einer -zentralen Konfigurationsdatei zusammengefasst. Eine beispielhafte -Konfigurationsdatei finden Sie unter $MOA_SL_INST/conf/moa-sl/moa-sl.properties. -Für Hinweise, wie Sie dem MOA SL Webservice mitteilen, welche -Konfigurationsdatei es verwenden soll, siehe Abschnitt 2.4.

- -

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 das Systemhandbuch lesen. Dort werden -der gesamte Ablauf eines Signaturprüfvorgangs in MOA SL sowie -die daran beteiligten Komponenten erklärt.

- -

Die Konfigurationsdatei ist als Java -Properties Datei aufgebaut, d. h. jede Zeile -enthält den Namen sowie den Wert des jeweiligen -Konfigurationsparameters in der Form name=wert. -Details zum Aufbau einer Java -Properties Datei finden Sie in der API-Dokumentation zu -Ihrem Java JDK, beispielsweise hier. -

- -

3.1.1 -XML-Schemata für Request- und Response-Validierung

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namelocation.schema.sl
Erläuterung -

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.

- -

Der Konfigurationsparameter muss als Wert einen Pfad -enthalten, der mit / beginnt, und der von MOA -SL als relativ zum Context Root -der Webapplikation interpretiert wird.

- -
Beispiel -

/WEB-INF/classes/resources/schemas/Core.20031231.xsd

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namelocation.schema.moa
Erläuterung -

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.

- -

Der Konfigurationsparameter muss als Wert einen Pfad -enthalten, der mit / beginnt, und der von MOA -SL als relativ zum Context Root -der Webapplikation interpretiert wird.

- -
Beispiel -

/WEB-INF/classes/resources/schemas/MOA-SPSS-1.3.xsd

- -
- -

3.1.2 -Arbeitsverzeichnis

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namelocation.tempdir
Erläuterung -

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.

- -

Der Konfigurationsparameter muss als Wert einen Pfad -enthalten, der von MOA SL als relativ zum Context -Root der Webapplikation interpretiert wird. Der angegebene -Pfad muss einen abschließenden / -aufweisen und im Dateisystem tatsächlich existieren.

- -
Beispiel -

/workdir/temp/

- -
- -

3.1.3 -Parameter der verwendeten MOA SP Installation

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nameservice.sp.endpoint
Erläuterung -

Mit diesem Konfigurationsparameter wird MOA SL der -Zugangspunkt zum Webservice von MOA SP mitgeteilt.

- -

Der Konfigurationsparameter muss eine URL enthalten, die -von MOA SL aus erreichbar ist und den Zugangspunkt zu MOA SP -adressiert.

- -
Beispiel -

http://localhost:8080/moa-spss/services/SignatureVerification

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nameservice.sp.trustProfileId
Erläuterung -

Mit diesem Konfigurationsparameter wird MOA SL -mitgeteilt, welches Vertrauensprofil es im Signaturprüfrequest -an MOA SP verwenden soll.

- -

Der Konfigurationsparameter muss den Bezeichner eines in -MOA SP hinterlegten Vertrauensprofils enthalten.

- -

Hinweis: Zum Durchlaufen der -Testapplikation nach Abschnitt 4 -dieses Handbuchs müssen Sie in MOA SP ein Vertrauensprofil mit -dem Namen MOA-SL-Test einrichten. Unter $MOA_SL_INST/conf/moa-spss/trustprofiles/spssconfig.fragment - finden Sie das dazu notwendige XML-Fragment zum -Einfügen in die Konfigurationsdatei von MOA SP. Unter $MOA_SL_INST/conf/moa-spss/trustprofiles/moa-sl/test/ -finden Sie das im XML-Fragment referenzierte Verzeichnis mit den -für das Vertrauensprofil notwendigen Zertifikatsdateien.

- -
Beispiel -

MOA-SL-Test

- -
- -

3.1.4 -Umfang der Prüfberichtseite

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nameresult.showetsi
Erläuterung -

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.

- -

Der Konfigurationsparamter muss einen der Werte true -oder false aufweisen.

- -
Beispiel -

false

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nameresult.showslmanifest
Erläuterung -

Dieser Konfigurationsparameter gibt an, ob MOA SL auf -der Prüfberichtseite unter den signierten Dokumenten auch ein -eventuell vorhandenes, mitsigniertes Signaturmanifest -nach Security-Layer V1.2 auflisten soll.

- -

Der Konfigurationsparamter muss einen der Werte true -oder false aufweisen.

- -
Beispiel -

false

- -
- -

3.1.5 -Parameter für das Umschreiben der Links in der -Prüfberichtseite

- -

Insbesondere zum Verständnis dieses Abschnitts -sollten Sie zunächst das Systemhandbuch lesen. -Dort werden der gesamte Ablauf eines Signaturprüfvorgangs in -MOA SL sowie die daran beteiligten Komponenten erklärt.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namerewrite
Erläuterung -

Dieser Konfigurationsparameter gibt an, ob MOA SL Links -auf der Prüfberichtseite umschreiben soll.

- -

der 

- -
Beispiel -

true

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namerewrite.proxyURL
Erläuterung -

Dieser Konfigurationsparameter enthält die URL -des Rewrite-Proxy. Der Rewrite-Proxy 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.

- -

Teil der mit diesem Konfigurationsparameter angegebenen -URL ist der Platzhalter für den Domänennamen des Rewrite-Proxy. Wie dieser -Platzhalter aussehen muss, wird im Konfigurationsparameter rewrite.proxyURL.proxyhostDummy -festgelegt. Im unten angegebenen Beispiel lautet der Platzhalter <proxyhost>.

- -
Beispiel -

http://<rewriteproxyhost>:1234/rewrite

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namerewrite.proxyURL.proxyhostDummy
Erläuterung -

Dieser Konfigurationsparameter enthält das -Format für den Platzhalter für den -Domänennamen des Rewrite-Proxy. -Der Platzhalter im Konfigurationsparameter rewrite.proxyURL -muss genau diesem Format entsprechen.

- -

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 Reverse -DNS Lookup geschieht mit dem Konfigurationsparameter rewrite.dn.*. -

- -
Beispiel -

<rewriteproxyhost>

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namerewrite.dn.*
Erläuterung -

Dieser (bzw. diese) Konfigurationsparameter definieren -die Lookup-Tabelle für das Reverse -DNS Lookup im Zuge der Umschreibung von Links in der -Prüfberichtseite, damit diese ausschließlich -über den Rewrite-Proxy -abgerufen werden können.

- -

Der Aufbau der Konfigurationsparameter entspricht dabei -dem Schema -rewrite.dn.<IP-Adresse>=<Domänenname>. -

- -

Der Default-Domänenname, der für die -Umschreibung verwendet wird, wenn für die IP-Adresse des Rewrite-Proxy kein Eintrag in der -Lookup-Tabelle definiert wurde, wird wie folgt angegeben: rewrite.dn.default=<Domänenname>. -

- -

Das Beispiel geht von zwei möglichen Rewrite-Proxys aus, denen die -IP-Adressen 192.168.0.101 bzw. 192.168.0.102 -zugeordnet sind. Die nach außen sichtbaren Namen dieser Rewrite-Proxys lauten rewriteproxyhost1 -und rewriteproxyhost2. rewriteproxyhost1 -ist als Standard-Rewrite-Proxy -konfiguriert.

- -
Beispiel -

rewrite.dn.192.168.0.101=rewriteproxyhost1
- -rewrite.dn.192.168.0.102=rewriteproxyhost2
- -rewrite.dn.default=rewriteproxyhost1

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namerewrite.MOASLUrlParamName
Erläuterung -

Dieser Konfigurationsparameter gibt den Namen des -URL-Parameters in den im Signaturprüfbericht für den Rewrite-Proxy umgeschriebenen -Links an, dessen Wert die vom Rewrite-Proxy -für den tatsächlichen Abruf von Daten von MOA SL -enthält.

- -

Am Wert dieses Konfigurationsparameters erkennt der Rewrite-Proxy, wie der -HTTP-Request an den Rewrite-Proxy -in einen HTTP-Request an das MOA SL Webservice umzusetzen ist. Lautet -eine im Signaturprüfbericht enthaltene URL z.B. http://rewriteproxyhost1:1234/rewrite?targetURL=http://moaslhost:8080/moa-sl/showdata?hidCount=0, -dann geht zunächst ein HTTP-Request an den Rewrite-Proxy (der auf dem -Rechner mit dem Namen rewriteproxyhost1 unter Port 1234 -lauscht). Der Rewrite-Proxy -entnimmt nun aus dem URL-Parameter targetURL -die URL für die Umsetzung an MOA SL, also http://moaslhost:8080/moa-sl/showdata?hidCount=0. -Der Rewrite-Proxy setzt -nun einen entsprechenden HTTP-Request an MOA SL ab; die Antwort von MOA -SL wird als Antwort auf den an den Rewrite-Proxy -gerichteten HTTP-Request weitergegeben.

- -
Beispiel -

targetURL

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Namerewrite.MOASLWebAppServUrl
Erläuterung -

Dieser Konfigurationsparameter gibt jene URL an, unter -der der Webapplikationsserver mit MOA SL vom Rewrite-Proxy -aus erreichbar ist.

- -

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.

- -

Verwendung findet dieser Konfigurationsparameter als -erster Teil des Werts für den oben besprochenen URL-Parameter (rewrite.sliUrlParamName). -

- -
Beispiel -

http://moaslhost:8080

- -
- -

3.2 Layout des -Prüfberichts

- -

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 Systemhandbuch).

- -

Das Layout des Prüfberichts, das in der JSP-Seite $MOA_SL_WEBAPP/pages/resultOverview.jsp -($MOA_SL_WEBAPP steht für den Ort der -Webapplikatioin, für gewöhnlich ist das -$CATALINA_HOME/webapps) festgelegt ist, kann -völlig frei gestaltet werden.

- -

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 jsp -gekennzeichnet sind (z.B. <jsp:useBean> -oder <jsp:getProperty>, oder -Bereiche die mit der Kennzeichnung <% -eingeleitet bzw. mit der Kennzeichnung %> -ausgeleitet werden.

- -

4 -Durchlaufen der Testapplikation

- -

Konnte das MOA SL Webservice entsprechend Abschnitt 2.5.4 -erfolgreich initialisiert werden, und haben Sie weiters die -Konfiguration des MOA SL Webservices entsprechend Abschnitt 3 an Ihre Anforderungen -angepasst, sollten Sie schließlich prüfen, ob die -mit MOA SL mitgelieferte Testapplikation erfolgreich durchlaufen werden -kann.

- -

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 localhost:8080 -erreichbar sein, passen Sie die URL bitte entsprechend an.

- -
http://localhost:8080/moa-sl/pages/test/forms/verify.slxhtml.jsp
- -

Die aufgerufene Webseite sollte in etwa wie folgt aussehen -(für eine größere Darstellung bitte -klicken):

- -

pplikation - Screen 1

- -

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.

- -

Wenn das Formular an an MOA SL übermittelt wurde, -antwortet MOA SL mit dem Signaturprüfbericht, der in etwa wie -folgt aussehen sollte:

- -

pplikation - Screen 2

- -

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 3.1.3.

- -

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 3.1.3.

- -

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:

- -

Testapplikation - Screen 3 -

- -

Wenn Sie schließlich im Prüfbericht dem -Link Zurück zur Anwendung ... -folgen, gelangen Sie zur Abschlussseite der Testapplikation:

- -

Testapplikation - Screen 4

- -

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 DataURL-Server -(vergleiche Parameter auf der Startseite der Testapplikation) -übermittelt. Im Wesentlichen ist das der -Signaturprüfresponse entsprechend der Spezifikation des -Security-Layers.

- - - diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.VSD b/spss.slinterface/handbook/system/images/Zusammenspiel.VSD deleted file mode 100644 index 0088d5109..000000000 Binary files a/spss.slinterface/handbook/system/images/Zusammenspiel.VSD and /dev/null differ diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png b/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png deleted file mode 100644 index 4e7fcda67..000000000 Binary files a/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png and /dev/null differ diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png b/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png deleted file mode 100644 index 0dc944cb9..000000000 Binary files a/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png and /dev/null differ 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 @@ - - - - - - MOA SL - Systemhandbuch - - - - - - - - - - - - - - - - - - - - - - - - -
Logo BKAOpen -Source
- -für das E-Government
Logo MOA
- -
-

MOA: -Serverseitige Signaturprüfung (SL), V 1.1

- -

Systemhandbuch

- -
-

Inhalt

- -
    - -
  1. -

    Einführung

    - -
  2. - -
  3. Überblick
  4. - -
  5. Komponenten -
      - -
    1. Der -Filter SL2MOAFilter -
    2. - -
    3. Das -Servlet MOAServlet -
    4. - -
    5. Die -JSP-Seite resultOverview.jsp -
    6. - -
    7. Das -Servlet HashInputDataServlet
    8. - -
    9. Das -Servlet ReturnServlet
    10. - -
    11. Die -Klasse URLRewriter
    12. - -
    13. Der -Deployment Descriptor web.xml
    14. - -
    - -
  6. - -
  7. Zusammenspiel der -Komponenten -
      - -
    1. Basisablauf
    2. - -
    3. Ablauf mit Rewrite-Proxy
    4. - -
    - -
  8. - -
- -
-

1 -Einführung

- -

Das Modul Serverseitige -Signaturprüfung (MOA SL) ist als -plattformunabhängiges Modul ausgelegt, das als Webservice -über HTTP bzw. HTTPS angesprochen werden kann.

- -

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.

- -

Für die Installation und die Konfiguration von MOA SL -siehe Betriebshandbuch. -

- -

2 -Überblick

- -

Das Modul Serverseitige -Signaturprüfung (MOA SL) bietet für -Signaturprüfung eine serverseitige Implementierung einer -Bürgerkarten-Umgebung entsprechend den Spezifikationen -zur österreichischen Bürgerkarte in der -Version 1.2.

- -

Der Funktionsumfang von MOA SL kann wie folgt zusammengefasst -werden:

- -
    - -
  • Von den XML-Befehlen der Applikationsschnittstelle -Security-Layer wird genau ein Befehl unterstützt, -und zwar jener zur Prüfung von XML-Signaturen (VerifyXMLSignature).
  • - -
  • Hinsichtlich der Transportprotokolle -des Security-Layer wird ausschließlich die -HTTP-Bindung unterstützt, wobei für diese Bindung -zusätzlich folgende Einschränkungen gelten: -
      - -
    • Keine Unterstützung der Formularparameter -RedirectURL und StylesheetURL.
    • - -
    • Verpflichtende Verwendung des Formularparameters -DataURL.
    • - -
    • Keine Unterstützung von Weitergabe-Parametern -und Weitergabe-Headern.
    • - -
    • Keine Referenzierbarkeit von Formularfeldern.
    • - -
    • Hinsichtlich der Ablaufsteuerung laut Abschnitt -3.2.3 wird ausschließlich Fall 5e -unterstützt.
    • - -
    - -
  • - -
  • Hinsichtlich der Anzeigeformate des Security-Layer wird -ausschließlich das Standardanzeigeformat -des Security-Layers 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.
  • - -
- -

3 -Komponenten

- -

3.1 -Der Filter SL2MOAFilter

- -

Die Klasse SL2MOAFilter -ist ein -Filter, -der einerseits -den HttpServletRequest -verändert, bevor er an das Servlet MOAServlet -weitergeleitet wird, und andererseits den HttpServletResponse -verändert, nachdem er vom Servlet MOAServlet -bearbeitet wurde.

- -

Der HttpServletRequest -enhält ja zunächst den Request zur Prüfung -der XML-Signatur in einem Format entsprechend der Spezifikationen -zur österreichischen Bürgerkarte in der -Version 1.2 (SL-Request). Das MOAServlet -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 SL2MOAFilters -ist es daher, vor der Ausführung des MOAServlets -für eine passende Umsetzung des SL-Requests in den -entsprechenden MOA-Request zu sorgen.

- -

Zur Erfüllung dieser -Aufgabe bedient sich der SL2MOAFilter -der Klasse SL2MOA, -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: -

    -
  • Einfügen eines DateTime Elements in den MOA-Request, wenn bisher kein solches existiert, und wenn in der im MOA-Request - enthaltenen XML Signatur kein Signaturattribut etsi:SigningTime existiert und wenn aus dem E-Recht XML Dokument, das von der - XML-Signatur signiert wird, die Metainformation (Attribut h-created im Wurzelelement erechtdok) des - Erzeugungszeitpunkts des E-Recht XML Dokuments erfolgreich extrahiert werden konnte.
  • - -
  • Hinzufügen des Elements ReturnHashInputData, das MOA SP anweist, die Hashinputdaten für jede dsig:Reference - der zu prüfenden XML Signatur als Teil der MOA-Response zu retournieren.
  • - -
  • Hinzufügen des verpflichtend anzugebenden Elements TrustProfileID, 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.
  • -
-

- -

Das MOAServlet -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 MOAServlet -aufruft, erwartet sich jedoch die Antwort auf den Request zur -Prüfung -der XML-Signatur in einem Format entsprechend der Spezifikationen -zur österreichischen Bürgerkarte in der -Version 1.2 (SL-Response). Aufgabe des SL2MOAFilters -ist es daher, nach der Ausführung des MOAServlets -für eine passende Umsetzung der MOA-Response in die -entsprechende SL-Response zu sorgen. Zur Erfüllung -dieser -Aufgabe bedient sich der SL2MOAFilter -der Klasse MOA2SL, -in der die -Response-Transformation gekapselt ist.

- -

Eine weitere Aufgabe der Klasse SL2MOAFilter -ist es schließlich, die JSP-Seite resultoverview.jsp -einzubinden, die für eine benutzertaugliche HTML-Darstellung -der SL-Response sorgt. Diese benutzertaugliche Darstellung wird dann -tatsächlich als finales Resultat des MOAServlets -an die Anwendung zurückübermittelt. Bevor die -JSP-Seite eingebunden wird, erzeugt SL2MOAFilter -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 Abschnitt 3.3. -

- -

3.2 -Das Servlet MOAServlet

- -

Die Klasse -MOAServlet ist ein HttpServlet -und als solches für die Kommunikation mit dem Basismodul MOA -SP verantwortlich.

- -

Das Servlet liest aus dem ServletInputStream -des HttpServletRequests -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.

- -

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 ServletOutputStream -der HttpServletResponse.

- -

Das MOAServlet bedient sich zur Kommunikation mit MOA SP der -Klasse -MOAInvoker, in der die -Funktionalität des Webservice-Clients für MOA SP -gekapselt ist.

- -

3.3 Die JSP-Seite resultOverview.jsp

- -

Die JSP-Seite resultOverview.jsp ist -verantwortlich für die Aufbereitung -einer benutzertauglichen HTML-Darstellung der SL-Response, die -das Servlet MOAServlet -im Zusammenspiel mit dem Filter SL2MOAFilter -erzeugt. 

- -

Die für die Aufbereitung erforderlichen Informationen -werden der JSP-Seite in Form von Java Beans zur Verfügung -gestellt, die zuvor vom SL2MOAFilter -erzeugt worden sind (vergleiche Abschnitt 3.1). -Folgende Java Beans stehen der JSP-Seite zur Verfügung:

- -
    - -
  • DataInfoBean: -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 - Abschnitt 3.4) -im Filesystem zwischengespeichert sowie die Prüfung -vorgenommen, ob es sich bei einem gesicherten Dokument um ein -XHTML-Dokument gemäß Spezifikationen -zur österreichischen Bürgerkarte in der -Version 1.2 handelt (SLXHTML-Dokument) oder nicht. Die Bean ist im -Session Scope abgelegt.
  • - -
  • SignerInfoBean: -Enthält -alle notwendigen Informationen zum Ersteller der geprüften -XML-Signatur. Die Bean ist im Servlet Scope abgelegt.
  • - -
  • ChecksInfoBean: -Enthält -alle notwendigen Informationen zum Ergebnis der Prüfung der -XML-Signatur. Die Bean ist im Servlet Scope abgelegt.
  • - -
- -

Die JSP-Seite resultOverview.jsp -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:

- -
    - -
  • Informationen zum Ersteller der geprüften -XML-Signatur: Name des Erstellers, Name des Ausstellers des -Zertifikats, Angaben zur Qualität des Zertifikats.
  • - -
  • Informationen zum Ergebnis der Prüfung der -XML-Signatur: Ergebnis der Signaturprüfung, Ergebnis der -Prüfung des Zertifikats.
  • - -
  • 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.
  • - -
- -

Ein Beispiel für die resultierende HTML-Darstellung -befindet sich hier.

- -

3.4 Das Servlet HashInputDataServlet

- -

Das Servlet HashInputServlet -ist -für die Verfügbarkeit der von der geprüften -XML-Signatur gesicherten Dokumente verantwortlich. 

- -

In der HTML-Aufbereitung der SL-Response, die von der -JSP-Seite resultOverview.jsp erzeugt wird, -(vergleiche Abschnitt -3.3) befinden sich Links auf alle gesicherten Dokumente. -Diese Links führen jeweils auf das Servlet HashInputServlet

- -

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 Abschnitt 3.3 -erwähnte DataInfoBean: -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.

- -

3.5 -Das Servlet ReturnServlet

- -

Das Servlet ReturnServlet -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.

- -

Damit verhält sich MOA SL genau wie in der -Spezifikation Transportprotokolle -Security-Layer (Teil der Spezifikationen -zur österreichischen Bürgerkarte in der -Version 1.2) in Abschnitt -3.2.3 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 ReturnServlet -die SL-Response an den DataURL-Server. Die URL des DataURL-Servers -wurde von der Anwendung im ursprünglichen Request an das MOAServlet -als Formular-Parameter angegeben. Der DataURL-Server antwortet auf das -Eintreffen der SL-Response mit einem HTTP-Response an das ReturnServlet, -diese wird vom ReturnServlet -als Antwort auf das Quittieren der HTML-Darstellung an den Browser -weitergeleitet. 

- -

Nachdem mit diesem Schritt die Bearbeitung der zur -Prüfung übermittelten XML-Signatur durch MOA-SL -abgeschlossen ist, wird am Ende des ReturnServlet -die Session und damit alle gespeicherten Informationen zur -geprüften XML-Signatur gelöscht. 

- -

3.6 -Die Klasse URLRewriter

- -

Die Klasse URLRewriter -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.

- -

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. 

- -

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.

- -

Die Methode rewrite der Klasse URLRewriter -wird bei der Erstellung der HTML-Aufbereitung der SL-Response durch die -JSP-Seite resultOverview.jsp 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.

- -

3.7 -Der Deployment Descriptor web.xml

-

-Im Deployment Descriptor web.xmldes -Web Archives (WAR-File) von MOA SL sind im Wesentlichen folgende -Konfigurationen eingerichtet, die im Normalfall nicht verändert -werden müssen:

-
    -
  • Definition der URLs, unter denen die Servlets von MOA SL (MOAServlet, HashInputServlet, ReturnServlet) relativ zum Root der Web Application erreichbar sind (XML-Elemente servlet bzw. servlet-mapping).
  • -
  • Definition der Filter, die für das Servlet MOAServlet zur Anwendung kommen sollen (XML Elemente filter bzw. filter-mapping).  Die Konfiguration ist so eingerichtet, dass für das Servlet MOAServlet genau ein Filter, nämlich SL2MOAFilter konfiguriert ist.  
  • -
- -

4 -Zusammenspiel der Komponenten

- -

4.1 Basisablauf

-

Die nachfolgende Grafik stellt das Zusammenspiel der Komponenten aus Abschnitt 3 mit dem Anwender und dem DataURL-Server dar.

-

Zusammenspiel der Komponenten - Basisablauf

- - - - - - - - - - - - - - - -
1, 2 -

Prüfung der Signatur: Anfrage wird eigentlich an MOAServlet gerichtet, durch die Filter-Konfiguration über den Deployment-Descriptor web.xml wird jedoch vorher und nachher der SL2MOAFilter dazwischengeschalten. Die Aufbereitung der HTML-Darstellung der SL-Response wird vom SL2MOAFilter an die JSP-Seite resultOverview.jsp delegiert.

-
3,4 -

Ü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 HashInputServlet, die Zuordnung im Servlet passiert über URL-Parameter (Session-ID, fortlaufende Nummer des Dokuments).

-
5, 6, 7, 8 -

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 ReturnServlet verweist. Das ReturnServlet -sendet die SL-Response an den DataURL-Server. Der DataURL-Server -antwortet entsprechend auf die übermittelte SL-Response; diese -Antwort wird vom ReturnServlet unverändert an den Antwender weitergeleitet.

-
-

4.2 Ablauf mit Rewrite-Proxy

-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.
-
Zusemmenspiel der Komponenten - mit Rewrite-Proxy
-
- - - - - - - - - - - - - - - -
1, 2 -

Prüfung der Signatur: Anfrage wird eigentlich an MOAServlet gerichtet, durch die Filter-Konfiguration über den Deployment-Descriptor web.xml wird jedoch vorher und nachher der SL2MOAFilter dazwischengeschalten. Die Aufbereitung der HTML-Darstellung der SL-Response wird vom SL2MOAFilter an die JSP-Seite resultOverview.jsp delegiert. Die Anfrage des Anwenders wird nicht direkt an das MOAServlet gerichtet, sondern über den Rewrite-Proxy, der die Anfrage-URL passend umschreibt.

-
3,4 -

Ü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 HashInputServlet, sondern zunächst auf den Rewrite-Proxy, der die Links passend auf das HashInputServlet umsetzt. Die Zuordnung im Servlet passiert über URL-Parameter (Session-ID, fortlaufende Nummer des Dokuments).

-
5, 6, 7, 8 -

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 ReturnServlet verweist, sondern zunächst auf den Rewrite-Proxy, der die Links passend auf das ReturnServlet  umsetzt. Das ReturnServlet -sendet die SL-Response an den DataURL-Server. Der DataURL-Server -antwortet entsprechend auf die übermittelte SL-Response; diese Antwort -wird vom ReturnServlet unverändert an den Antwender weitergeleitet.

-
-
-
- - diff --git a/spss.slinterface/lib/axis-1.0/axis-ant.jar b/spss.slinterface/lib/axis-1.0/axis-ant.jar deleted file mode 100644 index 9cb30a98a..000000000 Binary files a/spss.slinterface/lib/axis-1.0/axis-ant.jar and /dev/null differ diff --git a/spss.slinterface/lib/axis-1.0/axis.jar b/spss.slinterface/lib/axis-1.0/axis.jar deleted file mode 100644 index 869ee16f5..000000000 Binary files a/spss.slinterface/lib/axis-1.0/axis.jar and /dev/null differ diff --git a/spss.slinterface/lib/axis-1.0/jaxrpc.jar b/spss.slinterface/lib/axis-1.0/jaxrpc.jar deleted file mode 100644 index 5f6a56f02..000000000 Binary files a/spss.slinterface/lib/axis-1.0/jaxrpc.jar and /dev/null differ diff --git a/spss.slinterface/lib/axis-1.0/saaj.jar b/spss.slinterface/lib/axis-1.0/saaj.jar deleted file mode 100644 index f2242abe5..000000000 Binary files a/spss.slinterface/lib/axis-1.0/saaj.jar and /dev/null differ diff --git a/spss.slinterface/lib/axis-1.0/wsdl4j.jar b/spss.slinterface/lib/axis-1.0/wsdl4j.jar deleted file mode 100644 index 820abd082..000000000 Binary files a/spss.slinterface/lib/axis-1.0/wsdl4j.jar and /dev/null differ diff --git a/spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar b/spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar deleted file mode 100644 index b88554847..000000000 Binary files a/spss.slinterface/lib/commons-discovery-0.2/commons-discovery.jar and /dev/null differ 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 deleted file mode 100644 index 1ca4a9cd3..000000000 Binary files a/spss.slinterface/lib/commons-fileupload-1.0/commons-fileupload-1.0.jar and /dev/null differ 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 deleted file mode 100644 index b99c9375a..000000000 Binary files a/spss.slinterface/lib/commons-logging-1.0.4/commons-logging.jar and /dev/null differ 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 deleted file mode 100644 index 1595a56ef..000000000 Binary files a/spss.slinterface/lib/log4j-1.2.7/log4j-1.2.7.jar and /dev/null differ 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 deleted file mode 100644 index c450772ea..000000000 Binary files a/spss.slinterface/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip and /dev/null differ diff --git a/spss.slinterface/lib/xalan-2.5.1/xalan.jar b/spss.slinterface/lib/xalan-2.5.1/xalan.jar deleted file mode 100644 index 44d4d094d..000000000 Binary files a/spss.slinterface/lib/xalan-2.5.1/xalan.jar and /dev/null differ diff --git a/spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar b/spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar deleted file mode 100644 index 14c3162c0..000000000 Binary files a/spss.slinterface/lib/xerces-2.6.2/xercesImpl.jar and /dev/null differ diff --git a/spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar b/spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar deleted file mode 100644 index 2dd837714..000000000 Binary files a/spss.slinterface/lib/xerces-2.6.2/xmlParserAPIs.jar and /dev/null differ diff --git a/spss.slinterface/pages/images/LogoMoa4c.png b/spss.slinterface/pages/images/LogoMoa4c.png deleted file mode 100644 index c3735160c..000000000 Binary files a/spss.slinterface/pages/images/LogoMoa4c.png and /dev/null differ 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" %> - - - - - - - - - - - - - Bundeskanzleramt der Republik Österreich - Signaturprüfdienst - - - - - - -
- - - -
\"Republik - >Bundeskanzleramt der Republik Österreich - Signaturprüfdienst
- -

Nachfolgend finden Sie das Ergebnis der Prüfung der eingereichten elektronischen Signatur.

- -

- "> - Zurück zur Anwendung ... -

- - - - - - - Unterzeichner - - <% - 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(""); - } - } - %> -
-
" + subOIDRegNames[i] + "" + currSubjectNameRDN + "
- - - - - - - - Aussteller des Zertifikats - - <% - 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(""); - } - } - %> -
-
" + issuerOIDRegNames[i] + "" + currIssuerNameRDN + "
- - - - - - - Informationen zum Zertifikat - - - - - - - - - - - - - - -
-
Seriennummer - <% - out.print(signerInfo.getSerial()); - %> -
Qualität - <% out.print(signerInfo.getIsQualified() ? "qualifiziertes" : "gewöhnliches"); %> Zertifikat -
- - - - Prüfungen - - - - - - - - - <% - 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(" - - - - - - - - - - - - - - - - - - - - <% - 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("
-
Signatur

"); - if (sigCheckCode != 0) out.print(""); - out.print(sigCheckMsgs[sigCheckCode]); - if (sigCheckCode != 0) out.print(""); - %> -

- <% - if (sigCheckCode == 1) - { - %> -

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); - %> -

- <% - } - %> -
Zertifikat

"); - if (certCheckCode != 0) out.print(""); - out.print(certCheckMsgs[certCheckCode]); - if (certCheckCode != 0) out.print(""); - %> -

- - - - - - - Signierte Daten - - <% - 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(""); - j++; - } - i++; - } - while (true); - %> -
-
"); - - // out.print("Datei Nr." + (j + 1) + ""); - out.print(""); - 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("
- -

- "> - Zurück zur Anwendung ... -

-
- - \ No newline at end of file diff --git a/spss.slinterface/pages/test/bildspeicher/bild2.jpg b/spss.slinterface/pages/test/bildspeicher/bild2.jpg deleted file mode 100644 index 24e45d182..000000000 Binary files a/spss.slinterface/pages/test/bildspeicher/bild2.jpg and /dev/null differ 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" %> - - - - - - - Testanwendung für MOA SL - Resultat - - -
- - - - -
-

Testanwendung für MOA SL - Resultat

-

Die folgenden Daten wurden von MOA SL als Ergebnis gesendet.

- - - - - - - - -
Content-Type - - -
Inhalt - -
-

-

-
-
- - 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" %> - - - - - - - Testanwendung für MOA SL - - -
- - - - -
-

Testanwendung für MOA SL

-

Das signierte Dokument ist kein Security-Layer XHTML Dokument.

- - - - - - - - - -
Signaturprüfungsrequest - -
DataURL -
-

- -

-
-
- - 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" %> - - - - - - - Testanwendung für MOA SL - - -
- - - - -
-

Testanwendung für MOA SL

-

Das signierte Dokument ist ein Security-Layer XHTML Dokument.

- - - - - - - - - -
Signaturprüfungsrequest - -
DataURL -
-

- -

-
-
- - 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 @@ - - - - - - - - HTML-Darstellung - - -

- - - - - - - - - alternative text - - - - -

- - -
-
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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung gescheitert ist - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - Profilbezeichner für einen Transformationsweg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Der Transformationsparameter explizit angegeben. - - - - - Der Hashwert des Transformationsparameters. - - - - - - - - - - - - - - - - - - - - - - Explizite Angabe des Transformationswegs - - - - - - - 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. - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - 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 - - - - - - - - SLXHTML: attributeGroup "dir.attrib" removed. - - - - - - - - SLXHTML: attributeGroup "style.attrib" removed. - - - - - - - - - - - - SLXHTML: elements "script", "meta", "link", "object" removed. - - - - - - - - - - - SLXHTML: elements "ins", "del" removed. - - - - - - - - - SLXHTML: elements "script", "noscript" removed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - SLXHTML: elements "dfn", "samp", "kbd", "var", "q" , "abbr" and - "acronym" removed. - - - - - - - - - - - - - - SLXHTML: elements "tt", "i", "b", "big", "small", "sub", "sup" removed. - - - - - - - - - SLXHTML: element "bdo" removed. - - - - - - - - - SLXHTML: element "a" removed. - - - - - - - - - SLXHTML: elements "map", "object" removed. - - - - - - - - - - - SLXHTML: elements "input", "select", "textara", "lable", "button" removed. - - - - - - - - - - - - - SLXHTML: element "ruby" removed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SLXHTML: elements "tt", "i", "b", "script", "map" removed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SLXHTML: element "form" removed. - - - - - - - - - SLXHTML: element "fieldset" removed. - - - - - - - - - - - - - - - - SLXHTML: element "address" removed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - - - 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 $ - - - - - - - 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 - - - - - - - - - - - - - Redefinition by SLXHTML: Only a single instance of element "style" is - allowed apart from the obligatory "title" element. - - - - - - - - - - - - Redefinition by SLXHTML: Change value of the version attrib. - - - - - - - - - Redefinition by SLXHTML: Removed profile attrib. - - - - - - - - - - - - - - - - Redefinition by SLXHTML: Removed xml:lang attrib. - - - - - - - - - Redefinition by SLXHTML: Removed title attrib. - - - - - - - - - - - - - - - - Redefinition by SLXHTML: Removed cite attrib. - - - - - - - - - - - - - - - - - Redefinition by SLXHTML: Removed attributes "longdesc", "height", "width". - - - - - - - - - - - - - - - - - - - Redefinition by SLXHTML: - Removed attribute group "title" - Removed attribute "xml:space" - Fixed value of attribute "type" - Fixed value of attribute "media" - - - - - - - - - - - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "scope.attrib", "CellHAlign.attrib", "CellVAlign.attrib" - Removed attributes "abbr", "axis", "headers" - - - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "scope.attrib", "CellHAlign.attrib", "CellVAlign.attrib" - Removed attributes "abbr", "axis", "headers" - - - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib" - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib" - Removed attributes "span", "width" - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib" - Removed attributes "span", "width" - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib" - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib" - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "CellHAlign.attrib", "CellVAlign.attrib" - - - - - - - - - Redefinition by SLXHTML: - Removed attribute groups "frame.attrib", "rules.attrib" - Removed attributes "summary", "width", "border", "cellspacing", "cellpadding" - - - - - - - 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 @@ - - - - - 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 $ - - - - - 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. - - - - - 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 - - - - - - - This schema redefines the content model defined by - the individual modules for SLXHTML 1.0 Document Type - - - - - - - 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 - - - - - - - - - Lists module - - Elements defined here: - * dt, dd, dl, ol, ul, li - - - - - - - - - Block Presentational module - - Elements defined here: - * hr - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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"/>). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - Block Presentational Elements - - * hr - - This module declares the elements and their attributes used to - support block-level presentational markup. - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - -%HTMLlat1; - - -%HTMLsymbol; - - -%HTMLspecial; -]> - - - - - 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 $ - - - - - \ 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 @@ - - - - - - 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. - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - Common Attributes - This import brings in the attributes - xml:lang and xml:space in the XML namespace. - - - - - - - - Notations module - Declares XHTML notations for Attribute data types - - - - - - - - This module defines XHTML Attribute DataTypes - - - - - - - - - This module defines Common attributes for XHTML - - - - - - - - - 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 - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Change by SLXHTML: Changed type to "cite.type". - (Original declaration was: <xs:element name="cite" type="dfn.type"/>). - - - - - - - - - - - - - - - - - - - - - - - Change by SLXHTML: Changed type to "code.type". - (Original declaration was: <xs:element name="code" type="dfn.type"/>). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - - - 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 $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - - - 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 $ - - - - - - - Stylesheets - - * style - - This module declares the style element type and its attributes, - used to embed stylesheet information in the document head element. - - - - - - - - - - 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"/>). - - - - - - - - - - - - - - - - - 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 @@ - - - - - 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 $ - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - - - 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 $ - - - - - - - - - Block Phrasal module - Elements defined here: - - * address, blockquote, pre, h1, h2, h3, h4, h5, h6 - - - - - - - - Block Structural module - Elements defined here: - - * div, p - - - - - - - - Inline Phrasal module - Elements defined here: - - * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var - - - - - - - - Inline Structural module - Elements defined here: - - * br,span - - - - - 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 @@ - - - - - - - See http://www.w3.org/XML/1998/namespace.html and - http://www.w3.org/TR/REC-xml for information about this namespace. - - - - - 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 - - - - 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. - - - - - - In due course, we should install the relevant ISO 2- and 3-letter - codes as the enumerated possible values . . . - - - - - - - - - - - - - - - See http://www.w3.org/TR/xmlbase/ for - information about this attribute. - - - - - - - - - - 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 @@ - - - - - - - See http://www.w3.org/XML/1998/namespace.html and - http://www.w3.org/TR/REC-xml for information about this namespace. - - - - - 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 - - - - 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. - - - - - - In due course, we should install the relevant ISO 2- and 3-letter - codes as the enumerated possible values . . . - - - - - - - - - - - - - - - See http://www.w3.org/TR/xmlbase/ for - information about this attribute. - - - - - - - - - - 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 @@ - - - - - - ]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - default - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - TrustProfile1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - - - - - - - - - - - - - - - - - - - - - - - - default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - - - - - - - - - - - - - - - - - default - - - - - - - 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 @@ -id('signed-data')/node()aylv7lNNes2pI022g7zfY1AOUmI=id('refetsi')/etsi:QualifyingProperties/etsi:SignedPropertiesrYJgLYFMHaAcQjIlwSpFqXp5d1A=VnwHohi/ootc3mIWh2WnInNvjA+/kJOr5bDRl5no1CMsNA+1qhoVZCErHt75gp9m -O0MPBAcl7KfvkDTbHuMR1oG1Z4RUh52cE5oQietiwHGQIeuWEJ+IGcVcnkoayz4z -2tQLkdotBhV0mCmkQjyADNn8P4H5yHNsdPq0joqy+2Q=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==Das ist ein Test.2003-08-14T12:53:27Zwl/zuayZxKuYlH2G2FQCTcosSSg=CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT6218text/plainTrustProfile1 \ 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 @@ - - - - - - - - - - - - - - id('signed-data')/node() - - - - aylv7lNNes2pI022g7zfY1AOUmI= - - - - - id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties - - - - rYJgLYFMHaAcQjIlwSpFqXp5d1A= - - - VnwHohi/ootc3mIWh2WnInNvjA+/kJOr5bDRl5no1CMsNA+1qhoVZCErHt75gp9m -O0MPBAcl7KfvkDTbHuMR1oG1Z4RUh52cE5oQietiwHGQIeuWEJ+IGcVcnkoayz4z -2tQLkdotBhV0mCmkQjyADNn8P4H5yHNsdPq0joqy+2Q= - - - 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== - - - Das ist ein Test. - - - - - 2003-08-14T12:53:27Z - - - - - wl/zuayZxKuYlH2G2FQCTcosSSg= - - - CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 6218 - - - - - - - - - - text/plain - - - - - - - - - /dsig:Signature - - 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 @@ -2003-03-24T12:41:54+01:00http://anywhere.com/signature.xml/dsig:Signaturetext/xmldescriptionhttp://anywhere.com/supplement.xmlTrustProfile1 \ 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 @@ - - - - 2003-03-24T12:41:54+01:00 - - - http://anywhere.com/signature.xml - - /dsig:Signature - - - - text/xml - description - - - http://anywhere.com/supplement.xml - - - 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 @@ - - - - - - - - - - - - - - id('signed-data')/node() - - - - aylv7lNNes2pI022g7zfY1AOUmI= - - - - - id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties - - - - rYJgLYFMHaAcQjIlwSpFqXp5d1A= - - - VnwHohi/ootc3mIWh2WnInNvjA+/kJOr5bDRl5no1CMsNA+1qhoVZCErHt75gp9m -O0MPBAcl7KfvkDTbHuMR1oG1Z4RUh52cE5oQietiwHGQIeuWEJ+IGcVcnkoayz4z -2tQLkdotBhV0mCmkQjyADNn8P4H5yHNsdPq0joqy+2Q= - - - 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== - - - Das ist ein Test. - - - - - 2003-08-14T12:53:27Z - - - - - wl/zuayZxKuYlH2G2FQCTcosSSg= - - - CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 6218 - - - - - - - - - - text/plain - - - - - - - - - /dsig:Signature - - 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 @@ - -Inhalt 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 @@ - - - - - - - hugo - - - - ursl - - - 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 @@ -CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=ATCN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU -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/11 - Text10Text212 - Text10Text212 - Text10Text21 - Text313Text \ 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 @@ - -CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=ATCN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU -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 - - 1 - - Text10Text21 - - - - 2 - - Text10Text21 - - - - 2 - - Text10Text21 - Text31 - - - - 3 - Text - - \ 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 null if element - * equals null, 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 null if parent equals - * null 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 null if parent 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 java.util.List with objects of type org.w3c.dom.Element; each - * element in the list represents a child element as specified above. If parent - * equals null, or if there are no child elements as specified above, null - * 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 - * xpathExpressionContext. May be null. - */ - 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 Integer, - * 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 ServletInputStram 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 ByteArrayInputStream. - * - * @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 ServletInputStream. - */ - 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 moaVerifyXMLSignatureResponse 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 VerifyXMLSignatureRequest into a MOA VerifyXMLSignatureRequest - * and makes the following additions to the resulting VerifyXMLSignatureRequest: - *
    - *
  • Insertion of a DateTime element to MOA VerifyXMLSignatureRequest, if no - * one exists and if no etsi:SigningTime element exists in the xml signature of the MOA - * VerifyXMLSinatureRequest
  • 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 VerifyXMLSignatureRequest (see @link #extractXMLDocCreationTime(Element)).
  • - * - *
  • Addition of the ReturnHashInputData element indicating that MOA SP should return - * the hash input data for each dsig:Reference of the XML signature.
  • - * - *
  • Addition of the obligatory TrustProfileID 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 VerifyXMLSignatureRequest is trusted.
  • - *
- * - * @param slVerifyXMLSignatureRequest The SL VerifyXMLSignatureRequest to be transformed. - * - * @return the specified request document, transformed into a MOA VerifyXMLSignatureRequest. Please note - * that slVerifyXMLSignatureRequest 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 VerifyXMLSignatureRequest. - * - * @param verifyRequestElem The MOA VerifyXMLSignatureRequest. 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 erechtdok in the namespace - * http://www.bka.gv.at. The creation time meta information is - * assumed to be contained in the attribute h-created of the root - * element. The value of the attribute h-created is assumed to have - * the format dd. MMMMM yyyy, hh:mm:ss where MMMMM denotes the month - * in German prose (see @link #convertMonth(String)). - * - * @return the extracted creation time meta information, or null, 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 Jänner, Januar, - * Februar, Feber, März, April, - * Mai, Juni, Juli, August, - * September, Oktober, November, or - * Dezember. - * - * @return the numeric representation of the specified month. - * - * @throws Exception if dateMonthAlphaStr 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 DateTime element exists in the specified MOA - * VerifyXMLSignatureRequest. - * - * @param moaVerifyXMLSignatureRequest The MOA VerifyXMLSingatureRequest. - * - * @return true if the element exists, false 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 etsi:SigningTime signed attribute exists as part of the XML signature - * contained in the specified MOA VerifyXMLSingatureRequest. - * - * @param moaVerifyXMLSignatureRequest The MOA VerifyXMLSingatureRequest. - * - * @return true, if the attribute exists, false 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 elem is backed by a org.apache.xerces.dom.DocumentImpl. - */ - 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 @@ -Test \ 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 @@ - -W8W5rmqsVfSPwZ3bLF/dZPCAdXQ=R/flqO2oXfd/bdqWADtuA571WCV4x+yO1rKW4tpU0+MJYv3e+xnJwFyv51ipp7cxMIID+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 \ 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 @@ - - - - - - - HTML-Dokument - - - - - - - -

-
-
\ 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" %> - - - - - - - Testanwendung für SL - - -
- - - - -
-

Testanwendung für SL

-

Das signierte Dokument ist ein Security-Layer XHTML Dokument.

- - - - - - - - - -
Signaturprüfrequest - -
DataURL -
-

- -

-
-
- - 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 @@ - - - - - W8W5rmqsVfSPwZ3bLF/dZPCAdXQ=R/flqO2oXfd/bdqWADtuA571WCV4x+yO1rKW4tpU0+MJYv3e+xnJwFyv51ipp7cxMIID+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:Signature - - - - <% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/test/moa-wartung-la17/stylesheet.xsl - - - - - <% out.write(initPropertiesBean.getMOASLWebAppURL() + request.getContextPath()); %>/test/moa-wartung-la17/dokument.xml - - - diff --git a/spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif b/spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif deleted file mode 100644 index 971fec9a0..000000000 Binary files a/spss.slinterface/test/moa-wartung-la9/106_2006.img1is.gif and /dev/null differ diff --git a/spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif b/spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif deleted file mode 100644 index 971fec9a0..000000000 Binary files a/spss.slinterface/test/moa-wartung-la9/106_2006.img2is.gif and /dev/null differ diff --git a/spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif b/spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif deleted file mode 100644 index 971fec9a0..000000000 Binary files a/spss.slinterface/test/moa-wartung-la9/106_2006.img3is.gif and /dev/null differ 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 @@ - - - - - - - - BGBl. II - Ausgegeben am 9. März 2006 - Nr. 106Seite 2 von 2 - - - - - - - 1 von 2 - - - - www.ris.bka.gv.at - - - www.ris.bka.gv.at - - BUNDESGESETZBLATT - FÜR DIE REPUBLIK ÖSTERREICH - - Jahrgang 2006 - Ausgegeben am 9. März 2006 - Teil II - - 106. Verordnung:Rohmilchverordnung - 106. Verordnung der Bundesministerin für Gesundheit und Frauen über Rohmilch und Rohrahm (Rohmilchverordnung) - Auf Grund des § 14 Z 1 des Lebensmittelsicherheits- und Verbraucherschutzgesetzes 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: - Geltungsbereich - - §1. 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. - Allgemeine Bestimmungen - - §2. (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. - (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. - Milchautomaten - - §3. 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. - Zeitpunkt der Abgabe - - §4. 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. - Kennzeichnung - - §5. (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 Rohmilch, vor dem Verzehr abkochen und Rohrahm mit dem Hinweis Rohrahm, nur zur Herstellung von durcherhitzten Speisen verwenden zu deklarieren. - (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 Rohmilch oder Rohrahm anzugeben. - Kriterien - - §6. Rohmilch muss folgende Kriterien erfüllen: - - - - 1.Rohe Kuhmilch: - - a) Keimzahl bei 30°C (pro ml): - ./Bilder-Dateien/Bilder.img1is.gif 50 000; - b) Somatische Zellen (pro ml): - ./Bilder-Dateien/Bilder.img2is.gif 400 000. - - - 2.Rohmilch von anderen Tierarten: Keimzahl bei 30°C (pro ml): - ./Bilder-Dateien/Bilder.img3is.gif 500 000. - - - Personenbezogene Bezeichnungen - - §7. Bei den in dieser Verordnung verwendeten personenbezogenen Bezeichnungen gilt die gewählte Form für beide Geschlechter. - Schlussbestimmung - - §8. 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. - Rauch-Kallat - - - - \ 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 @@ - - - - - - - - BGBl. II - Ausgegeben am 9. März 2006 - Nr. 106Seite 2 von 2 - - - - - - - 1 von 2 - - - - www.ris.bka.gv.at - - - www.ris.bka.gv.at - - BUNDESGESETZBLATT - FÃœR DIE REPUBLIK ÖSTERREICH - - Jahrgang 2006 - Ausgegeben am 9. März 2006 - Teil II - - 106. Verordnung:Rohmilchverordnung - 106. Verordnung der Bundesministerin für Gesundheit und Frauen über Rohmilch und Rohrahm (Rohmilchverordnung) - Auf Grund des § 14 Z 1 des Lebensmittelsicherheits- und Verbraucherschutzgesetzes 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: - Geltungsbereich - - §1. 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. - Allgemeine Bestimmungen - - §2. (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. - (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. - Milchautomaten - - §3. 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. - Zeitpunkt der Abgabe - - §4. 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. - Kennzeichnung - - §5. (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 Rohmilch, vor dem Verzehr abkochen und Rohrahm mit dem Hinweis Rohrahm, nur zur Herstellung von durcherhitzten Speisen verwenden zu deklarieren. - (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 Rohmilch oder Rohrahm anzugeben. - Kriterien - - §6. Rohmilch muss folgende Kriterien erfüllen: - - - - 1.Rohe Kuhmilch: - - a) Keimzahl bei 30°C (pro ml): - ./Bilder-Dateien/Bilder.img1is.gif 50 000; - b) Somatische Zellen (pro ml): - ./Bilder-Dateien/Bilder.img2is.gif 400 000. - - - 2.Rohmilch von anderen Tierarten: Keimzahl bei 30°C (pro ml): - ./Bilder-Dateien/Bilder.img3is.gif 500 000. - - - Personenbezogene Bezeichnungen - - §7. Bei den in dieser Verordnung verwendeten personenbezogenen Bezeichnungen gilt die gewählte Form für beide Geschlechter. - Schlussbestimmung - - §8. 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. - Rauch-Kallat - - - - \ 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 @@ - - - - - - - -BGBl. II - Ausgegeben am 30. Mai 2006 - Nr. 204Seite 1 von 1 - - - - - - -1 von 1 - - - -www.ris.bka.gv.at - - -www.ris.bka.gv.at - -BUNDESGESETZBLATT -FÜR DIE REPUBLIK ÖSTERREICH - -Jahrgang 2006 -Ausgegeben am 30. Mai 2006 -TeilII - -204. Verordnung: Änderung der Schiffstechnikverordnung -204. Verordnung des Bundesministers für Verkehr, Innovation und Technologie, mit der die Schiffstechnikverordnung geändert wird -Auf Grund des §109 Abs.7 des Schifffahrtsgesetzes, BGBl.I Nr.62/1997 in der Fassung BGBl.I Nr.123/2005, wird verordnet: -Dem §26 der Schiffstechnikverordnung, BGBl. Nr.450/1993, zuletzt geändert durch BGBl.II Nr.196/1997, werden folgende Absätze 8 und 9 angefügt: - -(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.II Nr.136/2005, dürfen nach dem 31.Dezember 2006 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §10 Absatz 3e dieser Verordnung verfügen. -(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.II Nr.136/2005, dürfen nach dem 31.Dezember 2008 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §10 Absatz 3e dieser Verordnung verfügen. - -Gorbach - - - - 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 @@ - - - - - - - -BGBl. II - Ausgegeben am 30. Mai 2006 - Nr. 204Seite 1 von 1 - - - - - - -1 von 1 - - - -www.ris.bka.gv.at - - -www.ris.bka.gv.at - -BUNDESGESETZBLATT -FÃœR DIE REPUBLIK ÖSTERREICH - -Jahrgang 2006 -Ausgegeben am 30. Mai 2006 -TeilII - -204. Verordnung: Änderung der Schiffstechnikverordnung -204. Verordnung des Bundesministers für Verkehr, Innovation und Technologie, mit der die Schiffstechnikverordnung geändert wird -Auf Grund des §109 Abs.7 des Schifffahrtsgesetzes, BGBl.I Nr.62/1997 in der Fassung BGBl.I Nr.123/2005, wird verordnet: -Dem §26 der Schiffstechnikverordnung, BGBl. Nr.450/1993, zuletzt geändert durch BGBl.II Nr.196/1997, werden folgende Absätze 8 und 9 angefügt: - -(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.II Nr.136/2005, dürfen nach dem 31.Dezember 2006 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §10 Absatz 3e dieser Verordnung verfügen. -(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.II Nr.136/2005, dürfen nach dem 31.Dezember 2008 nur als Haupt- oder Hilfsmaschinen in Fahrzeuge, ausgenommen Kleinfahrzeuge, eingebaut werden, wenn sie über eine Typgenehmigung gemäß §10 Absatz 3e dieser Verordnung verfügen. - -Gorbach - - - - 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 @@ - - - -SCHMIDL, Renate -Mag. Christine Hochholdinger -COO_2026_100_2_123336 -COO_2026_100_2_123331 -Entwurf - - - - - -BGBl. II Ausgegeben am 30. August 2004 Nr. 341 -2 von 3 - - - - - - -1 von 3 - - - -www.ris.bka.gv.at - - -www.ris.bka.gv.at - -BUNDESGESETZBLATT -FÜR DIE REPUBLIK ÖSTERREICH - -Jahrgang 2004 -Ausgegeben am 30. August 2004 -Teil II - -341. Verordnung:Änderung der Altlastenatlas-VO -341. Verordnung des Bundesministers für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft, mit der die Altlastenatlas-VO geändert wird -Auf Grund der §§13 und 14 des Altlastensanierungsgesetzes, BGBl. Nr.299/1989, in der Fassung des Bundesgesetzes BGBl.I Nr.71/2003, wird verordnet: -Die Altlastenatlas-VO, BGBl.II Nr.232/2004, wird wie folgt geändert: -1. Der bisherige Text des §2 erhält die Absatzbezeichnung (1) und folgender Abs.2 wird angefügt: - -(2) Die Anhänge3 und 4 in der Fassung der Verordnung BGBl.II Nr.341/2004 treten mit 15.September 2004 in Kraft. - -2. Im Anhang 3 wird folgender Eintrag ALTLAST N54 angefügt: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST N54: Beizschlammdeponie Ternitz -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Neunkirchen -Ternitz -Dunkelstein (23303) -734/1 -
-Art der Altlast: - -Altablagerung -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -2 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -3. Im Anhang 4 lautet der Eintrag ALTLAST O50: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O50: Schwellenimprägnierung Schneegattern -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Braunau am Inn -Lengau -Krenwald (40114) -470/1, 523/5, 604/3, 956, 985/4, 986/7 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -21.8.2001 -
-Prioritätenklasse: - -3 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -4. Im Anhang 4 lauten die Einträge ALTLAST O60 bis O62: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O60: Putzerei Exclusiv Schwab -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.318/7 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -29.8.2003 -
-Prioritätenklasse: - -1 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O61: Putzerei Szöts -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.900 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2003 -
-Prioritätenklasse: - -2 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O62: Putzerei Schwab-Norge -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.466 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -10.9.2003 -
-Prioritätenklasse: - -1 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -5. Im Anhang 4 lautet der Eintrag ALTLAST O64: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O64: Kitzmantel -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Gmunden -Vorchdorf -Vorchdorf (42164) -376/1 -
-Art der Altlast: - -Altablagerung -
-Datum der Altlastausweisung: - -25.12.2003 -
-Prioritätenklasse: - -3 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -6. Im Anhang 4 werden folgende Einträge ALTLAST O65 bis O67 angefügt: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O65: Rappersberger Chemikalien -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -482/1 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -- -
-Datum der Prioritätenklassifizierung: - -- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O66: Putzerei Käferböck -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.372/2 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -1 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O67: BP-Tanklager Linz 1 alt - Schadensfall SF2A -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Lustenau (45204) -1485/2, 1485/8 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -3 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
-Pröll -
-
- -
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 @@ - - - -SCHMIDL, Renate -Mag. Christine Hochholdinger -COO_2026_100_2_123336 -COO_2026_100_2_123331 -Entwurf - - - - - -BGBl. II Ausgegeben am 30. August 2004 Nr. 341 -2 von 3 - - - - - - -1 von 3 - - - -www.ris.bka.gv.at - - -www.ris.bka.gv.at - -BUNDESGESETZBLATT -FÜR DIE REPUBLIK ÖSTERREICH - -Jahrgang 2004 -Ausgegeben am 30. August 2004 -Teil II - -341. Verordnung:Änderung der Altlastenatlas-VO -341. Verordnung des Bundesministers für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft, mit der die Altlastenatlas-VO geändert wird -Auf Grund der §§13 und 14 des Altlastensanierungsgesetzes, BGBl. Nr.299/1989, in der Fassung des Bundesgesetzes BGBl.I Nr.71/2003, wird verordnet: -Die Altlastenatlas-VO, BGBl.II Nr.232/2004, wird wie folgt geändert: -1. Der bisherige Text des §2 erhält die Absatzbezeichnung (1) und folgender Abs.2 wird angefügt: - -(2) Die Anhänge3 und 4 in der Fassung der Verordnung BGBl.II Nr.341/2004 treten mit 15.September 2004 in Kraft. - -2. Im Anhang 3 wird folgender Eintrag ALTLAST N54 angefügt: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST N54: Beizschlammdeponie Ternitz -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Neunkirchen -Ternitz -Dunkelstein (23303) -734/1 -
-Art der Altlast: - -Altablagerung -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -2 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -3. Im Anhang 4 lautet der Eintrag ALTLAST O50: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O50: Schwellenimprägnierung Schneegattern -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Braunau am Inn -Lengau -Krenwald (40114) -470/1, 523/5, 604/3, 956, 985/4, 986/7 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -21.8.2001 -
-Prioritätenklasse: - -3 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -4. Im Anhang 4 lauten die Einträge ALTLAST O60 bis O62: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O60: Putzerei Exclusiv Schwab -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.318/7 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -29.8.2003 -
-Prioritätenklasse: - -1 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O61: Putzerei Szöts -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.900 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2003 -
-Prioritätenklasse: - -2 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O62: Putzerei Schwab-Norge -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.466 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -10.9.2003 -
-Prioritätenklasse: - -1 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -5. Im Anhang 4 lautet der Eintrag ALTLAST O64: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O64: Kitzmantel -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Gmunden -Vorchdorf -Vorchdorf (42164) -376/1 -
-Art der Altlast: - -Altablagerung -
-Datum der Altlastausweisung: - -25.12.2003 -
-Prioritätenklasse: - -3 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
- -6. Im Anhang 4 werden folgende Einträge ALTLAST O65 bis O67 angefügt: - - - - - - - - - - - - - - - - - - - - - - - - -
- -ALTLAST O65: Rappersberger Chemikalien -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -482/1 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -- -
-Datum der Prioritätenklassifizierung: - -- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O66: Putzerei Käferböck -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Urfahr (45212) -.372/2 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -1 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-ALTLAST O67: BP-Tanklager Linz 1 alt - Schadensfall SF2A -
-Bezirk: -Gemeinde: -Katastralgemeinde: -Grundstücksnummern: - -Linz -Linz -Lustenau (45204) -1485/2, 1485/8 -
-Art der Altlast: - -Altstandort -
-Datum der Altlastausweisung: - -15.9.2004 -
-Prioritätenklasse: - -3 -
-Datum der Prioritätenklassifizierung: - -15.9.2004 - -
-Pröll -
-
- -
diff --git a/spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip b/spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip deleted file mode 100644 index 54d012c9d..000000000 Binary files a/spss.slinterface/test/moa-wartung-la9/moa-wartung-la9.zip and /dev/null differ 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 @@ -NPbycy/WxCxeWTH1KWTS61Sl3Qo=VxfA0lOw1IrRcZ/mtLJnjN235tw=VxfA0lOw1IrRcZ/mtLJnjN235tw=VxfA0lOw1IrRcZ/mtLJnjN235tw=m+LsMeF1y6oEDvNaxzQZzGu2jicilXuIeDwY3tPRWquc3MZrhEPmjZGgh9D3kg9G -mEikxklLQ1xA0JDCHlBbupYq/wzb+IKMPfGm6CZuO4NxW/dBexLsNrj5BA9hW3pl -TnPWO8ZUtAb67YYVLUtcWxzswxLK/aZmmvq6/vUy3I8=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= \ 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 @@ -RujiliZvytFe0R20bw1wQQhjesw=Bi5mWS19bCHic6Y/OgRLtstf4eLnRlH9mvSxw8itcsLjVYFtavxhfVDknwSmJtj0 -H6raS0tp6l5HUisl9G1/CV9DTRmwWCyq4KZoiGnT0fKJYvnVPKeI6iy69fWYMcdy -NiXv88YXa4zlMwjgUbQF1ExB3iRb2FXncSKXGTfBMMY=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= \ 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 @@ -zhYOFhgjFd8wmiQyzymnTVT8yMA=lUpyWqkJOMEGup7Jbj7mUdA32WDA5U8RwNQWqUdEM48uA7nY19Kg4X3fRnXU2C/V -1vUaS7cTElzNwm5ZEm1Rj+eFgeMQpzUenkd7xCbhHs5H0+AfOKSNEgBuY7A6iTnQ -McbmL9JOSflSM+nj7jeSYCI7mxVc2zIBdh7/+XgomKA=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= \ 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 @@ - - - - - - - - - - - - - - - - - . - { - - width:; - - - border:px solid black; - - - border-spacing:; - - - padding:; - - - } - - - - - - - - - . - { - - height:; - - - } - - - - - - - - - - . - { - - width:; - - - text-align:; - - - vertical-align:; - - - - } - - - - - - - - - - - - - - - - - - - eRecht XHTML 1.1 Dokument - - text/css - - - - - - - - - - - - - - - - - .H { height: ;} - - - - .W38 { width:38px; } - - .W15 { width:15px; } - - .W22 { width:22px; } - - .wi100 { width:100%; } - - - .WErl { width:15px; } - - - .E1Sp2 { width:px; } - - .E2Sp2 { width:px; } - - .E3Sp2 { width:px; } - - .E4Sp2 { width:px; } - - .E5Sp2 { width:px; } - - .ErlSp2 { width:px; } - - .E1Sp2Q { width:px; } - - .E2Sp2Q { width:px; } - - .E3Sp2Q { width:px; } - - .E4Sp2Q { width:px; } - - .E5Sp2Q { width:px; } - - .ErlSp2Q { width:px; } - - .nextpage { page-break-before:always; } - - - .margins { - - - - - - - - - - - - - } - - - - - @media screen { .paperw { - - - - - - - - - - - - - - }} - - @media print { .paperw { - - margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:portrait; - }} - - - - - @media screen { .paperh { - - - - - - - - - - - - - - }} - - @media print { .paperh { - - margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:landscape - }} - - -/***************************/ -/* 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; -} - - - - - - - - - - - - - - - - - - - - - - paperh - - - - nextpage - - - - - - - - - - - - - paperw - - - - nextpage - - - - - - - - - - - - - - - top bottom wi100 - - - - - - - - - - AusgabeDaten AlignLeft - - - - - - - - - AusgabeDaten AlignCenter - - - - - - - - - AusgabeDaten AlignRight - - - - - - - - - - - - - - - Kurztitel2 AlignLeft VAlignTop - - Kurztitelbreite - - - - - - - - - - - - Kurztitel2 AlignLeft - - - - - - - - - - - - - 2 - - Kurztitel1 AlignLeft VAlignTop - - - - - - - - - - - - - - - InhaltUeberschrift - - - - - - InhaltSpalte - - - - - - InhaltEintrag - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BDGesBlatt - - - - - - RepOesterr - - - - - - Entwurf - - - - - - - bottom wi100 - - - - - - - - Titel - - - - - - UeberschrG1 - - - - - - UeberschrG2 - - - - - - UeberschrG1- - - - - - - UeberschrArt - - - - - - UeberschrPara - - - - - - Anlagenbez - - - - - - ErlUeberschrZ - - - - - - ErlUeberschrL - - - - - - TGUEUeberschrSpalte - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - Undefiniert - - - - - - PromKlEinlSatz - - - - - - Abs - - - - - - - - AbbildungoderObjektL - - - - AbbildungoderObjektZ - - - - AbbildungoderObjektR - - - - AbbildungoderObjekt - - - - - - - - NovAo1 - - - - - - NovAo2 - - - - - - SatznachNovao - - - - - - TabText - - - - - - TabTextRechtsb - - - - - - TabTextZentriert - - - - - - TabTextBlock - - - - - - ErlText - - - - - - Kopfzeile - - - - - - Fusszeile - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - Abstand - - - - - - - - - wi100 - - - - - - - - ErlAufzaehlg - - - - - - - - - ZifferE1 - - - - - ZifferE2 - - - - - ZifferE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - - LiteraE1 - - - - - LiteraE2 - - - - - LiteraE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - - SubliteraE1 - - - - - SubliteraE2 - - - - - SubliteraE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - - StrichE1 - - - - - StrichE2 - - - - - StrichE3 - - - - - StrichE4 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - - WErl AlignRight VAlignTop - - - - - - - - AlignJustify - - - ErlSp2Q - - - ErlSp2 - - - - 7 - - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - - - - - - AlignJustify - - - E1Sp2Q - - - E1Sp2 - - - - 7 - - - - - - - - - - - - - - - - - - - - W15 AlignRight VAlignTop - - - - - - - - AlignJustify - - - E2Sp2Q - - - E2Sp2 - - - - 6 - - - - - - - - - - - - - - - - - - - - - W22 AlignRight VAlignTop - - - - - - - - AlignJustify - - - E3Sp2Q - - - E3Sp2 - - - - 5 - - - - - - - - - - - - - - - - - - - - - - W22 AlignRight VAlignTop - - - - - - - - AlignJustify - - - E4Sp2Q - - - E4Sp2 - - - - 4 - - - - - - - - - - - - - - - - - - - - AlignJustify - 8 - - SchlussteilAbs - - - - - - - - - W38 - - - AlignJustify - 7 - - SchlussteilZiff - - - - - - - - - - W15 - - - AlignJustify - 6 - - SchlussteilLit - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - ZifferMitBetrag - - - - - LiteraMitBetrag - - - - - SubliteraMitBetrag - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - ZifferMitBetragTGUE - - - - - LiteraMitBetragTGUE - - - - - SubliteraMitBetragTGUE - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - AlignRight VAlignTop - - - - - - - AlignJustify - 5 - - - - - - - - - - - - - - - - - - - - - - - - - - AlignRight VAlignTop - - - - - - - AlignJustify - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - AlignRight VAlignTop - - - - - - - AlignJustify - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - UnterschrL - - - - - - UnterschrM - - - - - - UnterschrR - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - Fehler - - - - - - - - GldSymbol - - - - - - - - - Normal - - - - - - - - - Fett - - - - - - - - - Kursiv - - - - - - - - - Unterstrichen - - - - - - - - - Gesperrt - - - - - - - - - Hoch - - - - - - - - - Tief - - - - - - - - - FettundKursiv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Standardtabulator - - - - - - - - - - - - [Verweis: - - ] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BeschriftungL - - - - - - BeschriftungZ - - - - - - BeschriftungR - - - - - - Beschriftung - - - - - - - - - - - - - - - - - - - - - - - - - - FNText - - - - - - - - - - - FNText - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - FNLinie - - - - FNText - - - - - FNText - - - - - - - - - - - - FNLinie - - - - FNText - - - - - FNText - - - - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - ISO-8859-1 - - - - - - - - - - - - - - - - - - - - eRecht Dokument (1.9.0) - - text/css - - - - - - - - - - - - - - .W38 { width:38px; } - - .W15 { width:15px; } - - .W22 { width:22px; } - - .wi100 { width:100%; } - - - .WErl { width:15px; } - - - .E1Sp2 { width: - - px; } - - .E2Sp2 { width: - - px; } - - .E3Sp2 { width: - - px; } - - .E4Sp2 { width: - - px; } - - .E5Sp2 { width: - - px; } - - .ErlSp2 { width: - - px; } - - .E1Sp2Q { width: - - px; } - - .E2Sp2Q { width: - - px; } - - .E3Sp2Q { width: - - px; } - - .E4Sp2Q { width: - - px; } - - .E5Sp2Q { width: - - px; } - - .ErlSp2Q { width: - - px; } - - .nextpage { page-break-before:always; } - - - .margins { - - - - - - - - - - - - - } - - - - - @media screen { .paperw { - - - - - - - - - - - - - - }} - - @media print { .paperw { - - margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:portrait; - }} - - - - - @media screen { .paperh { - - - - - - - - - - - - - - }} - - @media print { .paperh { - - margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:landscape - }} - - -/* 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;} - - - - - - - - - - - - - - - - - - - - paperh nextpage - - - - - - - - - - paperw nextpage - - - - - - - - - - - - - top bottom wi100 - - - - - - - - - AusgabeDaten AlignLeft - - - - - - - - AusgabeDaten AlignCenter - - - - - - - - AusgabeDaten AlignRight - - - - - - - - - - - - - - Kurztitel2 AlignLeft VAlignTop - - Kurztitelbreite - - - - - - - - - - - - Kurztitel2 AlignLeft - - - - - - - - - - - - - 2 - - Kurztitel1 AlignLeft VAlignTop - - - - - - - - - - - - InhaltUeberschrift - - - - - - InhaltSpalte - - - - - - InhaltEintrag - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BDGesBlatt - - - - - - RepOesterr - - - - - - Entwurf - - - - - - - bottom wi100 - - - - - - - - Titel - - - - - - UeberschrG1 - - - - - - UeberschrG2 - - - - - - UeberschrG1- - - - - - - UeberschrArt - - - - - - UeberschrPara - - - - - - Anlagenbez - - - - - - ErlUeberschrZ - - - - - - ErlUeberschrL - - - - - - TGUEUeberschrSpalte - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - Undefiniert - - - - - - PromKlEinlSatz - - - - - - Abs - - - - - - AbbildungoderObjekt - - - - - - NovAo1 - - - - - - NovAo2 - - - - - - SatznachNovao - - - - - - TabText - - - - - - TabTextRechtsb - - - - - - TabTextZentriert - - - - - - TabTextBlock - - - - - - ErlText - - - - - - Kopfzeile - - - - - - Fusszeile - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - Abstand - - - - - - - wi100 - - - - - - - ErlAufzaehlg - - - - - - - - ZifferE1 - - - - - ZifferE2 - - - - - ZifferE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - LiteraE1 - - - - - LiteraE2 - - - - - LiteraE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - SubliteraE1 - - - - - SubliteraE2 - - - - - SubliteraE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - StrichE1 - - - - - StrichE2 - - - - - StrichE3 - - - - - StrichE4 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - WErl AlignRight VAlignTop - - - - - - - AlignJustify ErlSp2QErlSp2 - 7 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - - - - - AlignJustify E1Sp2QE1Sp2 - 7 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - - - - - AlignJustify E2Sp2QE2Sp2 - 6 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - - - - - AlignJustify E3Sp2QE3Sp2 - 5 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - - - - - AlignJustify E4Sp2QE4Sp2 - 4 - - - - - - - - - - - - - - - - - - - - AlignJustify - 8 - - SchlussteilAbs - - - - - - - - - - W38 - - - AlignJustify - 7 - - SchlussteilZiff - - - - - - - - - - W15 - - - - AlignJustify - 6 - - SchlussteilLit - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - ZifferMitBetrag - - - - - LiteraMitBetrag - - - - - SubliteraMitBetrag - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - ZifferMitBetragTGUE - - - - - LiteraMitBetragTGUE - - - - - SubliteraMitBetragTGUE - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - AlignRight VAlignTop - - - - - - - AlignJustify - 5 - - - - - - - - - - - - - - - - - - - - - - - - - - AlignRight VAlignTop - - - - - - - AlignJustify - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - AlignRight VAlignTop - - - - - - - AlignJustify - 3 - - - - - - - - - - - - - - - - - - - - - - - - - UnterschrL - - - - - - UnterschrM - - - - - - UnterschrR - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - Fehler - - - - - - - GldSymbol - - - - - - - - - - - - - Normal - - - - - - - - - - - - - Fett - - - - - - - - - - - - - Kursiv - - - - - - - - - - - - - Unterstrichen - - - - - - - - - - - - - Gesperrt - - - - - - - - - - - - - Hoch - - - - - - - - - - - - - Tief - - - - - - - - - - - - - FettundKursiv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Standardtabulator - - - - - - - - - - - [Verweis: - - ] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Beschriftung - - - - - - - - - - - - - - - - - - - - - FNZeichen - - - - - - - - - - - FNZeichen - - - - - - - - - FNZeichen - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - FNLinie - - - - FNText - - - - - FNText - - - - - - - - - - - - - FNLinie - - - - FNText - - - - - FNText - - - - - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AlignCenter - - - AlignRight - - - AlignJustify - - - AlignLeft - - - - - 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 @@ - - - - ISO-8859-1 - - - - - - - - - - - - - - - - - - - - eRecht Dokument (1.9.0) - - text/css - - - - - - - - - - - - - - .W38 { width:38px; } - - .W15 { width:15px; } - - .W22 { width:22px; } - - .W90 { width:90px; } - - .wi100 { width:100%; } - - - .WErl { width:15px; } - - - .E1Sp2 { width: - - px; } - - .E2Sp2 { width: - - px; } - - .E3Sp2 { width: - - px; } - - .E4Sp2 { width: - - px; } - - .E5Sp2 { width: - - px; } - - .ErlSp2 { width: - - px; } - - .E1Sp2Q { width: - - px; } - - .E2Sp2Q { width: - - px; } - - .E3Sp2Q { width: - - px; } - - .E4Sp2Q { width: - - px; } - - .E5Sp2Q { width: - - px; } - - .ErlSp2Q { width: - - px; } - - .E1Sp2B { width: - - px; } - - .E2Sp2B { width: - - px; } - - .E3Sp2B { width: - - px; } - - .E1Sp2BQ { width: - - px; } - - .E2Sp2BQ { width: - - px; } - - .E3Sp2BQ { width: - - px; } - - .TextWidth{ width: - - px; } - - .TextWidthQ{ width: - - px; } - - .invisible{ height: 0pt } - invisible - - .nextpage { page-break-before:always; } - - - .margins { - - - - - - - - - - - - - } - - - - - @media screen { .paperw { - - - - - - - - - - - - - - }} - - @media print { .paperw { - - margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:portrait; - }} - - - - - @media screen { .paperh { - - - - - - - - - - - - - - }} - - @media print { .paperh { - - margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;size:landscape - }} - - -/* 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;} - - - - - - - - - - - - - - - - - - - - paperh nextpage - - - - - - - - - - paperw nextpage - - - - - - - - - - - - - top bottom wi100 - - - - - - - - - AusgabeDaten AlignLeft - - - - - - - - AusgabeDaten AlignCenter - - - - - - - - AusgabeDaten AlignRight - - - - - - - - - - - - - - Kurztitel2 AlignLeft VAlignTop - - Kurztitelbreite - - - - - - - - - - - - Kurztitel2 AlignLeft - - - - - - - - - - - - - 2 - - Kurztitel1 AlignLeft VAlignTop - - - - - - - - - - - - InhaltUeberschrift - - - - - - InhaltSpalte - - - - - - InhaltEintrag - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BDGesBlatt - - - - - - RepOesterr - - - - - - Entwurf - - - - - - - bottom wi100 - - - - - - - - Titel - - - - - - UeberschrG1 - - - - - - UeberschrG2 - - - - - - UeberschrG1- - - - - - - UeberschrArt - - - - - - UeberschrPara - - - - - - Anlagenbez - - - - - - ErlUeberschrZ - - - - - - ErlUeberschrL - - - - - - TGUEUeberschrSpalte - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - Undefiniert - - - - - - PromKlEinlSatz - - - - - - Abs - - - - - - AbbildungoderObjekt - - - - - - NovAo1 - - - - - - NovAo2 - - - - - - SatznachNovao - - - - - - TabText - - - - - - TabTextRechtsb - - - - - - TabTextZentriert - - - - - - TabTextBlock - - - - - - ErlText - - - - - - Kopfzeile - - - - - - Fusszeile - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - Abstand - - - - - - - wi100 - - - - - - - - - - - - - - - - - - ErlAufzaehlg - - - - - - - - ZifferE1 - - - - - ZifferE2 - - - - - ZifferE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - LiteraE1 - - - - - LiteraE2 - - - - - LiteraE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - SubliteraE1 - - - - - SubliteraE2 - - - - - SubliteraE3 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - StrichE1 - - - - - StrichE2 - - - - - StrichE3 - - - - - StrichE4 - - - - - - Fehler - Falsche Ebene: Bitte melden Sie den Fehler: - - - - - - - - - - - - WErl AlignRight VAlignTop - - - - - - - AlignJustify ErlSp2QErlSp2 - 7 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - - - - - AlignJustify E1Sp2QE1Sp2 - 7 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - - - - - AlignJustify E2Sp2QE2Sp2 - 6 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - - - - - AlignJustify E3Sp2QE3Sp2 - 5 - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - - - - - AlignJustify E4Sp2QE4Sp2 - 4 - - - - - - - - - - - - - - - - - - - - AlignJustify - 8 - - SchlussteilAbs - - - - - - - - - - W38 - - - AlignJustify - 7 - - SchlussteilZiff - - - - - - - - - - W15 - - - - AlignJustify - 6 - - SchlussteilLit - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - ZifferMitBetrag - - - - - LiteraMitBetrag - - - - - SubliteraMitBetrag - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - ZifferMitBetragTGUE - - - - - LiteraMitBetragTGUE - - - - - SubliteraMitBetragTGUE - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - W38 AlignRight VAlignTop - - - - - - - AlignJustify E1Sp2BQE1Sp2B VAlignTop - 5 - - - - - - - - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - - - - - AlignJustify E2Sp2BQE2Sp2B VAlignTop - 4 - - - - - - - - - - - - - - - - - - - - - - - - - W38 AlignRight VAlignTop - - - W15 AlignRight VAlignTop - - - W22 AlignRight VAlignTop - - - - - - - AlignJustify E1Sp2BQE1Sp2B VAlignTop - 3 - - - - - - - - - - - - - - - - - - - - - - - - - UnterschrL - - - - - - UnterschrM - - - - - - UnterschrR - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - Fehler - - - - - - - GldSymbol - - - - - - - - - - - - - Normal - - - - - - - - - - - - - Fett - - - - - - - - - - - - - Kursiv - - - - - - - - - - - - - Unterstrichen - - - - - - - - - - - - - Gesperrt - - - - - - - - - - - - - Hoch - - - - - - - - - - - - - Tief - - - - - - - - - - - - - FettundKursiv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Standardtabulator - - - - - - - - - - - [Verweis: - - ] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Beschriftung - - - - - - - - - - - - - - - - - - - - - FNZeichen - - - - - - - - - - - FNZeichen - - - - - - - - - FNZeichen - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - FNLinie - - - - FNText - - - - - FNText - - - - - - - - - - - - - FNLinie - - - - FNText - - - - - FNText - - - - - - - - - - - - - Fehler - Falscher Typ: Bitte melden Sie den Fehler: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AlignCenter - - - AlignRight - - - AlignJustify - - - AlignLeft - - - - - 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 @@ - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml - - /dsig:Signature - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.0.xsl - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img1is.gif - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img2is.gif - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img3is.gif - - - 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 @@ - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__106_2006.xml - - /dsig:Signature - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.0.xsl - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__106_2006.iso8859.xml - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img1is.gif - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img2is.gif - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/106_2006.img3is.gif - - - 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 @@ - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml - - /dsig:Signature - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.1.xsl - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml - - - 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 @@ - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__204_2006.xml - - /dsig:Signature - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.9.1.xsl - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__204_2006.utf8.xml - - - 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 @@ - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml - - /dsig:Signature - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.8.6.xsl - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml - - - 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 @@ - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/signatur_BGBl__II_Nr__341_2004.xml - - /dsig:Signature - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/stylesheet.1.8.6.xsl - - - - - http://localhost:8080/moa-sl/test/moa-wartung-la9/BGBl__II_Nr__341_2004.utf8.xml - - - 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 @@ - -CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=ATCN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT21221MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -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=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+R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==09801 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 @@ - -CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=ATCN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT21221MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -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=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+R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==R0lGODlhDQAQAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEA -AAAALAIAAwAJAAoAgAAAAAAAAAIRhG+BqReP4AJy0mYfnnvp/xQAOw==09801 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 @@ - -CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=ATCN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT21221MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -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=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+09801 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 @@ - -CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=ATCN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT21221MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -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=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+09801 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 @@ - -CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=ATCN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT21221MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -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=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=09801 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 @@ - -CN=Christian Wregar,OU=Verfassungsdienst,O=Bundeskanzleramt der Republik \C3\96sterreich,C=ATCN=a-sign-corporate-light-01,OU=a-sign-corporate-light-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT21221MIIE4TCCA8mgAwIBAgICUuUwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU -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=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=09801 -- cgit v1.2.3