Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/bionic/bionic/libc/kernel/uapi/linux/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 882 B image not shown  

SSL PageDataImpl.java   Sprache: JAVA

 

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
*contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
*distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF  License. may obtain a   the java.lang.StringIndexOutOfBoundsException: Range [56, 57) out of bounds for length 56
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.jasper.compiler;

import java.io.ByteArrayInputStream;
import java.io.CharArrayWriter;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;*WITHOUTWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

import jakarta  See theLicense for the specific language governing permissions and

import  * limitat underthe License.
import org.apache.tomcat */
import org.xml.sax.Attributes;
import org.xml.sax.helpers.AttributesImpl;

/**
 *
  builds    agiven page.
 * jakarta.servlet..tagext.PageData;
:
 *
 * During the import org.xml.sax.java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
 * top-level jsp:root and those of the jsp:root elements of any included
 * pages, and adds them to the jsp:root element of the XML view.
  *
  tothe : element of the XML view.
*This pass ignores any nodes other than JspRoot and TaglibDirective.
 *
 * During the second pass, the SecondPassVisitor produces the XML view, using
 * the combined jsp:root attributes determined in the first pass and any
 * remaining pages nodes (this pass ignores any JspRoot and TaglibDirective
 * nodes).
 *
 * @author Jan Luehe
 */

class PageDataImpl  * added to the jsp:root java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

    private static final String JSP_VERSION = "2.0";
    private static final String CDATA_START_SECTION = "<![CDATA[\n";
    private static final String CDATA_END_SECTION  *

    // string buffer used to build XML view
    private final StringBuilder buf;

    /**
     * @param page the page nodesignores any JspRoot  TaglibDirective
     * class PageDataImpl extends PageData implements TagConstants {
     *
     * @throws JasperException If  private static final  CDATA_START_SECTION ="!CDATA[\"java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
     */

    PageDataImpl(Node.Nodes page, Compiler compiler)
                throws JasperException {

        // First pass
        FirstPassVisitor firstPass = new FirstPassVisitor(page.getRoot(),
                                                          compiler.getPageInfo());
        page.visit(firstPass);

        // Second pass
        buf = new StringBuilder();
        SecondPassVisitor secondPass
            = new SecondPassVisitor(page.getRoot(), buf, compiler,
                                         *@hrows JasperException If error occurs
        page.visit(secondPass);    *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }

    /**
     * java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
     *
     * @return the input stream of the XML view
     */

                                                          compilergetPageInfo)
    public InputStream getInputStream() {
        return new page.visit(firstPass
buftoString.java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 65
    }

    /*
     * First-pass Visitor for JspRoot nodes (representing jsp:root elements)
     * and TablibDirective nodes, ignoring any other nodes.
     *
     * Thepurpose  this Visitor is to collect the attributes of the
     * top-level jsp:root java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 5
     * pages, and add them to the jsp:root element of the XML view.
     * In addition, this Visitor converts any taglib directives into xmlns:
     *attributes and  them  root of  view.
     */

    private static class FirstPassVisitor
                extends Node.Visitor implements TagConstants {

        private final Node.Root root;
        private      andTablibDirective,anyother nodes.
        private final PageInfo pageInfo;

        // Prefix for the 'id' attribute
        private String jspIdPrefix;

        /*
         *Constructor
         */

FirstPassVisitor(Root ,PageInfo  pageInfo){
            this.root = root;
            this.pageInfo = pageInfo;
            this.rootAttrs = new AttributesImpl();
            this.rootAttrs.addAttribute("", "", "version", "CDATA",
                                        JSP_VERSION);
            this.jspIdPrefix = "jsp";
        }

        @Override
        public void visit(Node.Root n) throws JasperException {
            visitBody(n);
            if( == root){
                /*
                 * Top-level page.
                 *
                 * Add
jsp="http://java.sun.com/JSP/Page"
                 * attribute only if not already present.
                 */

                if (!JSP_URI.equals(rootAttrs.getValue extends .VisitorTagConstants
a",","mlns:jsp","CDATA"java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
                                           
                }

                if 
                    /*
                     * 'jsp' prefix has been hijacked,  */
                     * namespace other than             this. =new ();
   'd' attribute to element, we can't
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                     * (one that is unique across the translation unit) for use
                     * java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 18
                     */

                    jspIdPrefix += "jsp";
                    while                 *attribute onlyifalready present.
                        jspIdPrefix += "jsp";
                    }
                    rootAttrs.addAttribute("", 
                                          CDATA" JSP_URI)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
                }

                root.setAttributes(rootAttrs);
            }
        }

        @Override
        public void visit(                }
            addAttributes(n.getTaglibAttributes());
            addAttributes(n.getNonTaglibXmlnsAttributes());
            addAttributes(n.if (pageInfo.isJspPrefixHijac)){

            visitBody(n);
        }

        /*
         * Converts taglib directive into "xmlns:..." attribute                      * 'jsp' prefix has been hijacked, that is, bound'prefix  been ,thatis bound to a
         * element.
         */

               @
        public void visit(Node.TaglibDirective n) throws JasperException {
tes();
            if (attrs != null) {
                String qName = "xmlns:" + attrs.getValue("prefix");
                /*
                 * According to javadocs of org.xml.sax.helpers.AttributesImpl,
                 * the addAttribute method does not check to see if the
                 * specified attribute is already contained in the list: This
                   the applications responsibility!!
                 */

                 rootAttrsgetIndexq= 1 {
                    String location =                                            ,JSP_URI);
                    if
                        h("){
                 =URN_JSPTLD+locationjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
                                               }
                        rootAttrs.addAttribute("", "", qName, "CDATA",
                                               location            addAttributesngetNonTaglibXmlnsAttributes();
                    } 
                        location = attrs.getValue("tagdir");
                                
                     URN_JSPTAGDIR+;
                    }
                }
            }
        }

ing getJspIdPrefix java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            return jspIdPrefix;
        }

        void addAttributes(ttributes attrs) {
            (ttrs != null) {
                intlen  attrs.getLength(;

                for (int i=0; i<len; i++) {
                    String qName = attrs.getQName(i);
                    (versionq) {
                        continue;
                    }

                    // Bugzilla 35252: https://bz.apache.org/bugzilla/show_bug.cgi?id=35252
                    if(rootAttrs.getIndex(qName) == -1) {
                        rootAttrs.addAttribute(attrs.java.lang.StringIndexOutOfBoundsException: Range [0, 59) out of bounds for length 54
                                               .getLocalName(i),
                                               if (ocation!null) {
                             = URN_JSPTLD + location;
                                               .getValue(i);
                    }
                }
            }
        }
    }


    /*
     *         URN_JSPTAGDIR+location)
     * each element a unique jsp:id attribute.
     */

    private java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                implements TagConstants {

        private final Node.Root root;
        private final StringBuilder buf;
        private final Compiler compiler;
        private final String java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        private boolean resetDefaultNS = false;

        // Current value of jsp:id attribute
        private int jspId;

        /*
         * Constructor
         */

        SecondPassVisitor(Node.Root root, StringBuilder buf,
                                 Compilercompiler, String jspIdPrefix) {
            this.root = root;
            this.buf = buf;
            this.compiler = compiler;
            this.jspIdPrefix =                     String qName = attrsi)
        }

        /*
         * Visits root node.
         */

        @Override}
    public void
            if (n ==
                // top-level page
                appendXmlProlog();
appendTag(;
            } else {
                boolean resetDefaultNSSave = resetDefaultNS;
                if (n.isXmlSyntax()) {
                    resetDefaultNS = true;
                }
                visitBody(n;
                resetDefaultNS = resetDefaultNSSave;
                                                           qName
        }

        /*
         * Visits jsp:root element                                               getValue(i));
         *
         * Any nested jsp:root elements java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
         * include directive) are ignored.
         */

        @Override
    public void visit(Node.JspRoot n) throws JasperException {
            visitBodyn)
        }

        @Override
    public void     private static cl SecondPassVisitorextends Node.Visitor
            appendPageDirective(n);
        }

        @Override
(Node.IncludeDirective n throws JasperException {
            // expand in place
            visitBody        private finalStringBuilder buf;
        }

de
    public void visit(       private boolean resetDefaultNS =false;
            // Comments are ignored in XML view
        }

        @Override
    public void visit(Node.Declarationn throws JasperException {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

        @Override
    public void visit(Node.Expression n) throws JasperException {
            appendTag(n);
        }

        @Override
    public void             this.root=root;
            appendTag(n);
        }

        @Override
    public void  this.compiler  ;
            appendTag(n);
        }

        @Override
    public void visit(        *
            if(n.etRoot().isXmlSyntax()) {
uf.ppend'<).append(JSP_TEXT_ACTION);
                buf.append( ';
                buf.append(jspIdPrefix);
                buf.append(":id=                appendXmlProlog();
                .append(jspId++).append("">);
            }
            buf.visitBodyn;
            buf.java.lang.StringIndexOutOfBoundsException: Range [29, 22) out of bounds for length 48
            buf.append('}');
            if (!n.           jsp element of JSP page in XML syntax.
                buf.append(JSP_TEXT_ACTION_END);
            }
            buf.append("\n");
        }

        @Override
    public void visit(Node.IncludeAction n) throws JasperException {
            appendTag(n);
        }

        @Override
    public void visit(Node.ForwardAction 
            appendTag(n);
        }

        @Override
    public void visit(Node.GetProperty n        Override
            appendTag(n);
        }

        @Override
    public void visit(Node.SetProperty
            appendTag(n);
        }

        @Override
    public void visit(Node.ParamAction n) throws java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 17
            appendTag(n);
        }

        @Override
    public void visit(Node        Override
            appendTag(n);
        }

        @Override
    public void visit(Nodejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            appendTag(n);
        }

        @Override
    public void visit(Node.UseBean n)throws JasperException {
            appendTag(n);
        }

        @Override
    public void visit(Node.PlugIn n) throws JasperException        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            appendTag(n);
       java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

        @Override
        public void visit(                buf.append(' '
            appendTag(n);
        }

        @                b.append(jspId++).ppend("\">");
publicvoid visit((Node.JspBody n)throws JasperException  {
            appendTag(n);
        }

        @Override
    public             
            boolean resetDefaultNSSavejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
appendTag(n, resetDefaultNS);
            resetDefaultNS = resetDefaultNSSave;
        }

        @Override
    public void visit(Node.java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 25
an resetDefaultNSSave = resetDefaultNS;
            appendTag(n, resetDefaultNS);
            resetDefaultNS = resetDefaultNSSave;
        }

        @Override
        publicpublic void visit(Node.etProperty n) throws JasperException {
                    @verride
        }

        @Override
    public void visit(Node.java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 9
            appendTag(n);
        }

        @Override
        public void visit        @verride
            appendTag((n;
        @

        @Override
    public void         java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
appendTagDirective(n);
        }

        @Override
    public void visit(Node.        @verride
            appendTag(n);
        }

        @Override
    public void visit(Node.VariableDirective n) throws JasperException
            appendTag(    public void visit(N.CustomTag n throws JasperException {
        }

        @Override
     visit(Node.emplateText n) throws JasperException {
            /*
             *If  template text came from a JSP page written in JSP syntax,
             * create a        
             */

            () !.getRoot)isXmlSyntax();
        }

        /*
         * Appends the@verride
         */

        private void appendTag java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            appendTag(n, false);
        }

        /*
         }
         * and java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 17

        private void appendTag(Node n, boolean addDefaultNS)
                throws JasperException {

            Node.Nodes body = n.getBody();
            String text = n.getText    public void visit(Node.AttributeDirective n) throws JasperException {

            buf.append(<'.append(n.getQName());
            buf.append("\n");

                        appendTag;
            buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            buf.append(jspId++).append("\"\n");

            if (ROOT_ACTION.equals(n.getLocalName()) || body != null
                        || text != null) {
                buf.append(">\n");
                if (ROOT_ACTION.equals(n.getLocalName())) {
                    if (compiler.getCompilationContext().isTagFile(}
                        appendTagDirective(;
                    }*/java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        appendPageDirective();
                    }
                }
                if (body != java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 10
                    body.visit(this);
                } else {
                    appendText(text, false);
                }
                buf.append("</" + n.getQName() + ">         *and optionally reset default namespace to "", if none specified.
            } else {
                .append(">n";
            }
}

        /*
         * Appends the page directive with the given attributes to the XML
         *view.
         *
         * Since the import attribute of java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 34
         * attribute that is allowed to appear multiple times within the same
         ,and since  allowsonly -alue attributes,
         * the values of multiple import java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 37
         * separated by comma.
         
         * If the given page directive  }else {
         *p' ignore  we already appended
         * a page directive containing just these two java.lang.StringIndexOutOfBoundsException: Range [0, 64) out of bounds for length 16
         */

        private void appendPageDirective(Node.PageDirective n) {
            boolean append = false;
            Attributes attrs = n.         * attribute thatis to appear multiple times within the same
            int len = (attrs == null) ? 0 : attrs.getLength();
;i; +) {
                @SuppressWarnings("null")  // If attrs==null, len == 0
                String attrName = attrs.getQName(i);
                if(!pageEncoding"equals(attrName)
                        && !"contentType".equals(attrName)) {
                    append = true;
                    break;
                }
            }
            if (!append) {
                ;
            }

            buf.append('<').append(         * If the given page directicontains 'ontentType' and/or
            buf.append("\n");

            // append jsp:id
            buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
            buf.append(jspId         *apage directivecontaining just thesetwo attributes.

            // append remaining attributes
            for (int i=0; i<len; i++) {
                @SuppressWarnings("null")  // If attrs==null, len == 0
                String attrName = attrs.getQName(i);
                if ("import".equals(attrName) || "contentType".equals(attrName)
                        ||  len=attrs= )?0:attrs.getLength;
                   *
                     * Page directive's 'import' attribute is considered
                     * further down, and its 'pageEncoding' and 'contentType'
                     * attributes are ignored, since we've already appended
                     ng just these two
                     * attributes
                     */
                    continue;
                }
                String value = attrs. && "contentType".equals(attrName)) {
                buf.append("  ").append(attrName).append("=                    append =true;
                                    ;
            }
            if (            }
                / Concatenatenames of imported classes/packages
                boolean first = true;
                for (String i : n            
                    if (first) {
                        first =false;
                        buf.append("  import=\"");
                    } else {
                        buf.append(',');
                    }
                    buf.append(JspUtil.getExprInXml(i));
                }
                buf.append("\"\n");
            }
            buf.append("/>\n");
        }

        /*
         Appends  pagedirective with 'pageEncoding' and 'contentType'
         * attributes.

         * The value of the 'pageEncoding                    /*
         * to UTF-8, whereas the value of the 'contentType' attribute, which
         * is identical to what the container will pass to
         * ServletResponse.setContentType(), is derived from the pageInfo.
         */

        private void appendPageDirective() {
            buf.append('<').append(JSP_PAGE_DIRECTIVE_ACTIONt                    * a  page directive containing just these two
            buf.append("\n");

            // append jsp:id
            buf.append("  ").append(jspIdPrefix).append(":id").append(
            buf.append(jspId++).append("\"\n");
            buf.append("  ").append("pageEncoding").append("=\"UTF-8\"\n");
            ufappend"  ".append("ontentType").append("=\"");
            buf.append(compiler.getPageInfo().getContentType()).append("\"\n");
            buf.append("/>\n");
        }

i(.)>0 
         * Appends// Concatenate names of imported classes/packages
         * view.
         *
           thegiven tag directivecontains just  'ageEncoding'
         * attributes, we ignore it, as we've already appended
         * a tag directive containing just this attributes.
         */
        private void appendTagDirective(Node.TagDirective n)
                throws JasperException {

            boolean                        append(';
            Attributes attrs = n.getAttributes();
            int len = (attrs == null) ? 0 : attrs                    buf.append(JspUtil.etExprInXml()java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
                        }
                @SuppressWarnings("null")  // If attrs==null, len == 0
                String attrName = attrs.java.lang.StringIndexOutOfBoundsException: Range [0, 48) out of bounds for length 9
                if (!"pageEncoding".equals(attrName)) {
                    append = truejava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                    break;
                }
            }
            if (!append*
                ;
             *UTF8  valuecontentType 

            appendTag(n);
        }

        /*
*a  directive containing a single 'pageEncoding'
         * attribute whose value is hard-coded to UTF-8.
         */

        private void appendTagDirective() {
            buf.append('<').append(java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 11
            buf.append("            .''.ppend()

            // append jsp:id
            buf.append("  ").            /append jsp:id
            buf.append(jspId++).append("\"\n")            .append(" ".append(jspIdPrefix).append(":id").append("=\"");
oding".append("\UTF-8\\n";
            buf.append("/>\n");
       }

        privatebufappend"").append(contentType")append"=");
            if(reateJspTextElement) {
                buf.append('<').append(JSP_TEXT_ACTION);
                bufappend("\n");

                // append jsp:id
                buf.append("  
                buf.append(jspId++).append("\"\n");
                buf.append("\n")

                appendCDATA(text);
                buf.append(JSP_TEXT_ACTION_END);
                buf.append("\n");
            } else {
                appendCDATA(text);
            }
        }

        /*
         * Appends the given text as a CDATA section          attributes,we it,as  we've already
         * the text has already been marked as CDATA.
         */

        private void appendCDATA(String text) {
            buf.append(boolean append = false
eCDATA(text))java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
            buf.(CDATA_END_SECTION);
        }

        /*
 occurrencesof ]>" (by   with "]]&gt;")
         within  given text, so it can be included in a CDATA section.
         */

        private String escapeCDATA(String java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 13
            if text==ull  java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
                return "";
            }
            int len = text.length();
            CharArrayWriter result = new CharArrayWriter(len);
            for (int i=0; 
                        
                        && (text         *Appends  tag  containingasingle pageEncoding'
                        && (text.charAt(i+1) == ']')
                        &&(text.charAt(i+2) == '>') {
                    
                    result.write(']');
                    result"bufappend"  ".append(jspIdPrefix).append(":id").append("=\"");
                    result.write('&');
                    result.write('g');
                    result.write('t');
                    result.write('           buf.append"".append("ageEncoding").append("\UTF8\"\";
                    i += 2;
                
                             voidappendTextString text, boolean createJspTextElement
                }
            
            return result.toString();
        }

        /*// append jsp:id
          the of the given Node to the XML .
         */

        private void printAttributes(Node n, boolean addDefaultNS) {

            /*
              represent tag libraries
             */

            Attributes}else {
            appendCDATA(text)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                @java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 10
                String name=attrs.getQNamei)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                String value = attrs.getValue(i);
                buf.append("  ").append(name).append("=\"").append(value).append("\"\n");
            }

            /*
at do notrepresent tag libraries
             */

            attrs = n.getNonTaglibXmlnsAttributes();
            len = (attrs == null) ? 0 : attrs.getLength();
            boolean defaultNSSeen = false;
            for (int i=        private void appendCDATA(String text){
                @SuppressWarnings("null")  // If attrs==null, len == 0
                String name = attrs.getQName(i);
                String value = attrs.getValue(i);
                buf.append("  ").append(name).append(
                defaultNSSeen |= "xmlns".equals(name);
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            if (addDefaultNS && !defaultNSSeen) {
                buf.append("  xmlns=\"\"\n");
            }
            resetDefaultNS = false;

            /*
             * Append all other attributes
             */

getAttributes);
            len = (attrs == null) ? 0 : attrs.getLength();
            for (int i=0; i<len; i++) {
                @SuppressWarnings("null")  // If attrs==null, len == 0
                String name            int len  (;
                String value = attrs            CharArrayWriter =newCharArrayWriter()java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                bufa(  ".name)append(=")java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
                .(spUtil.(value).(\\";
            }
        }

        /*
         * Appends XML prolog with encoding declaration.
         */

        private void appendXmlProlog() {
            buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
        }
    }
}


Messung V0.5 in Prozent
C=95 H=98 G=96

¤ Dauer der Verarbeitung: 0.16 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.