init
@@ -0,0 +1,4 @@
|
||||
Manifest-Version: 1.0
|
||||
Ant-Version: Apache Ant 1.9.7
|
||||
Created-By: 1.8.0_111-b14 (Oracle Corporation)
|
||||
|
||||
@@ -0,0 +1,587 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
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 ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
|
||||
version="2.1">
|
||||
|
||||
<description>JSTL 1.2 core library</description>
|
||||
<display-name>JSTL core</display-name>
|
||||
<tlib-version>1.2</tlib-version>
|
||||
<short-name>c</short-name>
|
||||
<uri>http://java.sun.com/jsp/jstl/core</uri>
|
||||
|
||||
<validator>
|
||||
<description>
|
||||
Provides core validation features for JSTL tags.
|
||||
</description>
|
||||
<validator-class>
|
||||
org.apache.taglibs.standard.tlv.JstlCoreTLV
|
||||
</validator-class>
|
||||
</validator>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Catches any Throwable that occurs in its body and optionally
|
||||
exposes it.
|
||||
</description>
|
||||
<name>catch</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
exception thrown from a nested action. The type of the
|
||||
scoped variable is the type of the exception thrown.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Simple conditional tag that establishes a context for
|
||||
mutually exclusive conditional operations, marked by
|
||||
<when> and <otherwise>
|
||||
</description>
|
||||
<name>choose</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Simple conditional tag, which evalutes its body if the
|
||||
supplied condition is true and optionally exposes a Boolean
|
||||
scripting variable representing the evaluation of this condition
|
||||
</description>
|
||||
<name>if</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.IfTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The test condition that determines whether or
|
||||
not the body content should be processed.
|
||||
</description>
|
||||
<name>test</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
resulting value of the test condition. The type
|
||||
of the scoped variable is Boolean.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Retrieves an absolute or relative URL and exposes its contents
|
||||
to either the page, a String in 'var', or a Reader in 'varReader'.
|
||||
</description>
|
||||
<name>import</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ImportTag</tag-class>
|
||||
<tei-class>org.apache.taglibs.standard.tei.ImportTEI</tei-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The URL of the resource to import.
|
||||
</description>
|
||||
<name>url</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
resource's content. The type of the scoped
|
||||
variable is String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
resource's content. The type of the scoped
|
||||
variable is Reader.
|
||||
</description>
|
||||
<name>varReader</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the context when accessing a relative
|
||||
URL resource that belongs to a foreign
|
||||
context.
|
||||
</description>
|
||||
<name>context</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Character encoding of the content at the input
|
||||
resource.
|
||||
</description>
|
||||
<name>charEncoding</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
The basic iteration tag, accepting many different
|
||||
collection types and supporting subsetting and other
|
||||
functionality
|
||||
</description>
|
||||
<name>forEach</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForEachTag</tag-class>
|
||||
<tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Collection of items to iterate over.
|
||||
</description>
|
||||
<name>items</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.Object</type>
|
||||
<deferred-value>
|
||||
<type>java.lang.Object</type>
|
||||
</deferred-value>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
If items specified:
|
||||
Iteration begins at the item located at the
|
||||
specified index. First item of the collection has
|
||||
index 0.
|
||||
If items not specified:
|
||||
Iteration begins with index set at the value
|
||||
specified.
|
||||
</description>
|
||||
<name>begin</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
If items specified:
|
||||
Iteration ends at the item located at the
|
||||
specified index (inclusive).
|
||||
If items not specified:
|
||||
Iteration ends when index reaches the value
|
||||
specified.
|
||||
</description>
|
||||
<name>end</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration will only process every step items of
|
||||
the collection, starting with the first one.
|
||||
</description>
|
||||
<name>step</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
current item of the iteration. This scoped
|
||||
variable has nested visibility. Its type depends
|
||||
on the object of the underlying collection.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
status of the iteration. Object exported is of type
|
||||
javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested
|
||||
visibility.
|
||||
</description>
|
||||
<name>varStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Iterates over tokens, separated by the supplied delimeters
|
||||
</description>
|
||||
<name>forTokens</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForTokensTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
String of tokens to iterate over.
|
||||
</description>
|
||||
<name>items</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<deferred-value>
|
||||
<type>java.lang.String</type>
|
||||
</deferred-value>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
The set of delimiters (the characters that
|
||||
separate the tokens in the string).
|
||||
</description>
|
||||
<name>delims</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration begins at the token located at the
|
||||
specified index. First token has index 0.
|
||||
</description>
|
||||
<name>begin</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration ends at the token located at the
|
||||
specified index (inclusive).
|
||||
</description>
|
||||
<name>end</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration will only process every step tokens
|
||||
of the string, starting with the first one.
|
||||
</description>
|
||||
<name>step</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
current item of the iteration. This scoped
|
||||
variable has nested visibility.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
status of the iteration. Object exported is of
|
||||
type
|
||||
javax.servlet.jsp.jstl.core.LoopTag
|
||||
Status. This scoped variable has nested
|
||||
visibility.
|
||||
</description>
|
||||
<name>varStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Like <%= ... >, but for expressions.
|
||||
</description>
|
||||
<name>out</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.OutTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Expression to be evaluated.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Default value if the resulting value is null.
|
||||
</description>
|
||||
<name>default</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Determines whether characters <,>,&,'," in the
|
||||
resulting string should be converted to their
|
||||
corresponding character entity codes. Default value is
|
||||
true.
|
||||
</description>
|
||||
<name>escapeXml</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Subtag of <choose> that follows <when> tags
|
||||
and runs only if all of the prior conditions evaluated to
|
||||
'false'
|
||||
</description>
|
||||
<name>otherwise</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Adds a parameter to a containing 'import' tag's URL.
|
||||
</description>
|
||||
<name>param</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ParamTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the query string parameter.
|
||||
</description>
|
||||
<name>name</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Value of the parameter.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Redirects to a new URL.
|
||||
</description>
|
||||
<name>redirect</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.RedirectTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The URL of the resource to redirect to.
|
||||
</description>
|
||||
<name>url</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the context when redirecting to a relative URL
|
||||
resource that belongs to a foreign context.
|
||||
</description>
|
||||
<name>context</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Removes a scoped variable (from a particular scope, if specified).
|
||||
</description>
|
||||
<name>remove</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.RemoveTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the scoped variable to be removed.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Sets the result of an expression evaluation in a 'scope'
|
||||
</description>
|
||||
<name>set</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.SetTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable to hold the value
|
||||
specified in the action. The type of the scoped variable is
|
||||
whatever type the value expression evaluates to.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Expression to be evaluated.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<deferred-value>
|
||||
<type>java.lang.Object</type>
|
||||
</deferred-value>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Target object whose property will be set. Must evaluate to
|
||||
a JavaBeans object with setter property property, or to a
|
||||
java.util.Map object.
|
||||
</description>
|
||||
<name>target</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the property to be set in the target object.
|
||||
</description>
|
||||
<name>property</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Creates a URL with optional query parameters.
|
||||
</description>
|
||||
<name>url</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
processed url. The type of the scoped variable is
|
||||
String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
URL to be processed.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the context when specifying a relative URL
|
||||
resource that belongs to a foreign context.
|
||||
</description>
|
||||
<name>context</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Subtag of <choose> that includes its body if its
|
||||
condition evalutes to 'true'
|
||||
</description>
|
||||
<name>when</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.WhenTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The test condition that determines whether or not the
|
||||
body content should be processed.
|
||||
</description>
|
||||
<name>test</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
</taglib>
|
||||
@@ -0,0 +1,743 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
|
||||
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
|
||||
<taglib>
|
||||
<tlib-version>1.1</tlib-version>
|
||||
<jsp-version>1.2</jsp-version>
|
||||
<short-name>display</short-name>
|
||||
<uri>http://displaytag.sf.net</uri>
|
||||
<display-name>Display *: Tag Library</display-name>
|
||||
<description>
|
||||
The display tag library is an open source suite of custom tags that provide high level web presentation patterns
|
||||
which will work in a MVC model, and provide a significant amount of functionality while still being simple and
|
||||
straight-forward to use. The primary tag in the library is the Table tag.
|
||||
</description>
|
||||
<tag>
|
||||
<name>table</name>
|
||||
<tag-class>org.displaytag.tags.TableTag</tag-class>
|
||||
<tei-class>org.displaytag.tags.TableTagExtraInfo</tei-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>table</display-name>
|
||||
<description>
|
||||
Displays a list in an html table, formatting each item in the list according to the Column tags nested inside of
|
||||
this tag. Use the list attribute to indicate the Collection of data, in some scope, that the tag should operate
|
||||
on. Supports the export of the list data to alternative formats such as CSV, Excel, and XML. The contents of the
|
||||
list can be sorted, and the list can be broken into individual pages for display. If you use this tag in Struts,
|
||||
or in some other framework where the page is included via a jsp:include, you should use the requestURI attribute
|
||||
to indicate where tag generated links should point.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>list</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Reference to the object used as source for the table. Can be an expression like requestScope.object.property .
|
||||
You must define either the name attribute or the list attribute. Using "Name" is suggested.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>name</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
reference to the object used as source for the table. Can be an expression like requestScope.object.property. In
|
||||
the EL version of the taglibrary this must be an EL expression which points to the source object.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>length</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>number of records to be shown</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>offset</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>index of the first record to be shown</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>pagesize</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>number of records in a page</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>decorator</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Fully qualified class name for a TableDecorator. Use a TableDecorator to provide custom operations against the
|
||||
whole list, such as computing totals. Must extend org.displaytag.decorator.TableDecorator.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>requestURI</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
When the present, links for sorting, exports, and paging are formed by adding any tag generated parameters to
|
||||
the value of requestURI attribute.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>requestURIcontext</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Enable/disable prepending of application context to generated links. Default is true, you can set it to false in
|
||||
order to generate cross-context links.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>excludedParams</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Whitespace separated list containg the name of parameters which should NOT be forwarded during paging or
|
||||
sorting. You can use excludedParams="*" to match (exclude) any parameter.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>varTotals</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Store a java.util.Map of the column totals in a pageContext variable by this name. The keys of the map are
|
||||
"column" and the column number (first column is "column1", etc); values are the corresponding total for the
|
||||
column; columns that are not marked as to total="true" will be omitted from the map. The variable will ONLY be
|
||||
available within the footer tag and after the end of the table, it is not available with the body of the table
|
||||
or columns.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>style</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>class</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>cellspacing</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>cellpadding</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute. Better using "padding" css attribute in style or class</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>frame</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>rules</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>summary</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>htmlId</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html "id" pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>export</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>enable/disable export. Valid values are true or false</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>id</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
See "uid". The id attribute can't be a runtime expression in jsp 1.0 compliant containers, while uid will allow
|
||||
it.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>uid</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Unique id used to identify this table. The object representing the current row is also added to the pageContext
|
||||
under this name and the current row number is added using the key uid_rowNum. Two tables in the same page can't
|
||||
have the same uid (paging and sorting will affect both). If no "htmlId" is specified the same value will be used
|
||||
for the html id of the generated table.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sort</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use 'page' if you want to sort only visible records, or 'list' if you want to sort the full list, or 'external'
|
||||
if the data is sorted outside displaytag.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>defaultsort</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>The index of the column that will be used by default for sorting (starting from 1)</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>defaultorder</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The default order for the sorted column. Valid values are "ascending" (default) or "descending"
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>partialList</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>enable/disable partialLists. Valid values are true or false</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>size</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Used only when partialList=true. Reference to the Integer object containing the size of the total dataset. Can
|
||||
be an expression like requestScope.object.property. In the EL version of the taglibrary this must be an EL
|
||||
expression which points to the source object.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>keepStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Preserve the current paging/sort status across session. The default is false (do not use sessions). Note that
|
||||
for this to work properly you need to assign to each table in your application a different id.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>clearStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>Clears the current paging/sort status saved in session.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>form</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Uses post for paging/sorting links, by submitting the for with the given name. Note that this form will not be
|
||||
created by displaytag, and it must exist in page.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:table name="someList" export="true" id="row" requestURI="MyAction.do">
|
||||
<display:column sortable="true" title="ID"> <c:out value="${row.id}"/> </display:column>
|
||||
<display:column property="email" autolink="true"/>
|
||||
<display:column property="description" title="Comments"/>
|
||||
</display:table>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>column</name>
|
||||
<tag-class>org.displaytag.tags.ColumnTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>column</display-name>
|
||||
<description>
|
||||
Displays a property of a row object inside a table. MUST be nested inside of a Table tag. The value displayed will
|
||||
be the results of a decorator (if any); else the property named by the 'property' attribute; or if the 'property'
|
||||
attribute is null, then the results of evaluating the JSP body of the tag.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>property</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
name of the property in the bean specified in the parent table tag (via the "name" attribute) mapped to this
|
||||
column
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sortProperty</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
name of the property in the bean specified in the parent table tag (via the "name" attribute) which will be used
|
||||
to sort values in the column. This can be used when the column body is filled or a decorator is used and column
|
||||
should sort on undecorated values.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>title</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>title of the column (text for the th cell)</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>comparator</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
The classname of comparator to use when sorting this column, or the comparator itself. Defaults to the
|
||||
DefaultComparator.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>titleKey</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Resource key used to lookup the title value. Only works if "title" is not defined. Works together with a
|
||||
configured I18nResourceProvider, specified via the displaytag.properties file. By default, if JSTL is available,
|
||||
the JSTL provider is used, which makes this attribute work the same as fmt:message's key property.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>nulls</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
By default, null values don't appear in the list. By setting 'nulls' to 'true', then null values will appear as
|
||||
"null" in the list (mostly useful for debugging). Defaults to 'false'.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>total</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
If true, will total the contents of this column. This value is available via the Map named in varTotals for the
|
||||
table. Column values need to Numbers.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sortable</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>Set to 'true' to make the column sortable. Defaults to 'false'.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>defaultorder</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The default sort order for this column. Valid values are "ascending" (default) or "descending"
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>autolink</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Automatically hyperlink URLs and email addresses that appear in the column. Defaults to 'false'.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>format</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
A MessageFormat patter that will be used to decorate objects in the column. Can be used as a "shortcut" for
|
||||
simple column decorations. @since 1.1
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>escapeXml</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Set it to true to escape special characters in html and xml output. Defaults to 'false'. @since 1.1
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>media</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use this attribute to keep a column from being output during an export. The column will only render for the
|
||||
named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
|
||||
space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
|
||||
in the example webapp for more details.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>href</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
<![CDATA[
|
||||
The base URL used to construct the dynamic link. If this attribute is provided, then the data that is shown for
|
||||
this column is wrapped inside a <a href=""> tag with the url provided through this attribute. Typically you
|
||||
would use this attribute along with one of the struts-like param attributes (param*) to create a dynamic link so
|
||||
that each row creates a different URL based on the data that is being viewed. An empty href value will generate
|
||||
a link to the current page, preserving parameters just like for paging links.]]>
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>url</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The base URL used to construct the dynamic link. This attribute has the same functionality as the href
|
||||
attribute, but it pre-pends the contextPath.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramId</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The name of the request parameter that will be dynamically added to the generated href URL. The corresponding
|
||||
value is defined by the paramProperty and (optional) paramName attributes, optionally scoped by the paramScope
|
||||
attribute.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramName</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The name of a JSP bean that is a String containing the value for the request parameter named by paramId (if
|
||||
paramProperty is not specified), or a JSP bean whose property getter is called to return a String (if
|
||||
paramProperty is specified). The JSP bean is constrained to the bean scope specified by the paramScope property,
|
||||
if it is specified. If paramName is omitted, then it is assumed that the current object being iterated on is the
|
||||
target bean.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramProperty</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The name of a property of the current object being iterated on, whose return value will be used as the value of
|
||||
the parameter (named by the paramId attribute) that will be dynamically added to this href URL. If paramName is
|
||||
also specified the property will not be fetched from the object being iterated on, but from the bean specified
|
||||
by paramName. The support of paramProperty in conjunction with paramName will be probably removed in future: use
|
||||
paramProperty only if you need a property in the iterated object, elsewhere use only paramName (you can select a
|
||||
property using an expression name.property).
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramScope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
@deprecated - use Expressions in paramName. The scope within which to search for the bean specified by the
|
||||
paramName attribute. If not specified, all scopes are searched. If paramName is not provided, then the current
|
||||
object being iterated on is assumed to be the target bean.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>maxLength</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>
|
||||
If this attribute is provided, then the column's displayed is limited to this number of characters. An elipse
|
||||
(...) is appended to the end if this column is linked, and the user can mouseover the elipse to get the full
|
||||
text. Be careful on using this attribute for String which can contain html tags or entities, or together with
|
||||
the autolink attribute turned on: displaytag will do its best trying to avoid leaving unclosed tags or broken
|
||||
entities in the output, but a complex or bad input could lead to unattended results.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>maxWords</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>
|
||||
If this attribute is provided, then the column's displayed is limited to this number of words. An elipse (...)
|
||||
is appended to the end if this column is linked, and the user can mouseover the elipse to get the full text. Be
|
||||
careful on using this attribute for String which can contain html tags or entities, or together with the
|
||||
autolink attribute turned on: displaytag will do its best trying to avoid leaving unclosed tags or broken
|
||||
entities in the output, but a complex or bad input could lead to unattended results.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>class</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
html pass through attribute; use this instead of directly coding presentational atttributes.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>headerClass</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>"class" html attribute added only for header cells.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>style</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>group</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>
|
||||
The grouping level (starting at 1 and incrementing) of this column (indicates if successive contain the same
|
||||
values, then they should not be displayed). The level indicates that if a lower level no longer matches, then
|
||||
the matching for this higher level should start over as well. If this attribute is not included, then no
|
||||
grouping is performed.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>decorator</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Whitespace separated list of column decorators to apply to the current column. A table decorator name can be the
|
||||
name of an object in page, request, session or application scope or a fully qualified class name of a class
|
||||
implementing the org.displaytag.decorator.DisplaytagColumnDecorator interface. If a decorator is specified for
|
||||
the entire table, then this decorator will decorate that decorator.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sortName</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Used with sort="external", the name that should be given to the server to sort this column. IE if
|
||||
sortName="buzz", then the href for this column to sort will have a parameter d-(encodedId)-s=buzz. If sortName
|
||||
is ommitted the value for the sort param will default to the column number.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>headerScope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>"scope" html attribute added only for header cells.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>"scope" html attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.Object</type>
|
||||
<description>
|
||||
Static value to be used for the column. It has the same meaning of setting a value in the tag body, but values
|
||||
set using this attribute will not be coerced to Strings. You may need to use the value attribute instead of a
|
||||
scriptlet in the tag body if you need to calculate totals on numeric values.
|
||||
</description>
|
||||
</attribute>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>setProperty</name>
|
||||
<tag-class>org.displaytag.tags.SetPropertyTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>setProperty</display-name>
|
||||
<description>
|
||||
Sets the indicated property on the enclosing Table tag. MUST be nested within a Table tag. As an alternative, you
|
||||
may create a property file that holds sitewide defaults; see the configuration documentation or the
|
||||
DisplayPropertiesLoaderServlet javadoc for information.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>name</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>The name of the property to set on the enclosing Table tag.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The value to which the property is set. You can also set the property value in the tag body.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:setProperty name="paging.banner.placement" value="bottom" />
|
||||
or
|
||||
<display:setProperty name="paging.banner.placement">bottom</display:setProperty>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>footer</name>
|
||||
<tag-class>org.displaytag.tags.TableFooterTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>footer</display-name>
|
||||
<description>
|
||||
Tag wich should be nested into a table tag to provide a custom table footer. The body of the tag is into the tfoot
|
||||
section of the table. The totals variable, if designated, will be in pageContext in this tag.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>media</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use this attribute to keep a footer from being output during an export. The caption will only render for the
|
||||
named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
|
||||
space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
|
||||
in the example webapp for more details.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:table name="someList" varTotals="totals">
|
||||
<display:column property="itemName"/>
|
||||
<display:column property="price" total="true"/>
|
||||
<display:footer>
|
||||
<tr>
|
||||
<td>Total Bill:</td>
|
||||
<td><c:out value="${totals.column2}" /></td>
|
||||
<tr>
|
||||
</display:footer>
|
||||
</display:table>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>caption</name>
|
||||
<tag-class>org.displaytag.tags.CaptionTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>caption</display-name>
|
||||
<description>
|
||||
Simple tag which mimics the html caption tag. Use it inside a table tag to display a caption.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>style</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>class</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>id</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>title</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>lang</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>dir</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>media</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use this attribute to keep a caption from being output during an export. The caption will only render for the
|
||||
named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
|
||||
space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
|
||||
in the example webapp for more details.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:table name="someList">
|
||||
<display:column property="mail"/>
|
||||
<display:column property="total"/>
|
||||
<display:caption>This is the table caption</display:caption>
|
||||
</display:table>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
</taglib>
|
||||
@@ -0,0 +1,686 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
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 ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
|
||||
version="2.0">
|
||||
|
||||
<description>JSTL 1.1 i18n-capable formatting library</description>
|
||||
<display-name>JSTL fmt</display-name>
|
||||
<tlib-version>1.1</tlib-version>
|
||||
<short-name>fmt</short-name>
|
||||
<uri>http://java.sun.com/jsp/jstl/fmt</uri>
|
||||
|
||||
<validator>
|
||||
<description>
|
||||
Provides core validation features for JSTL tags.
|
||||
</description>
|
||||
<validator-class>
|
||||
org.apache.taglibs.standard.tlv.JstlFmtTLV
|
||||
</validator-class>
|
||||
</validator>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Sets the request character encoding
|
||||
</description>
|
||||
<name>requestEncoding</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of character encoding to be applied when
|
||||
decoding request parameters.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Stores the given locale in the locale configuration variable
|
||||
</description>
|
||||
<name>setLocale</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
A String value is interpreted as the
|
||||
printable representation of a locale, which
|
||||
must contain a two-letter (lower-case)
|
||||
language code (as defined by ISO-639),
|
||||
and may contain a two-letter (upper-case)
|
||||
country code (as defined by ISO-3166).
|
||||
Language and country codes must be
|
||||
separated by hyphen (-) or underscore
|
||||
(_).
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Vendor- or browser-specific variant.
|
||||
See the java.util.Locale javadocs for
|
||||
more information on variants.
|
||||
</description>
|
||||
<name>variant</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of the locale configuration variable.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Specifies the time zone for any time formatting or parsing actions
|
||||
nested in its body
|
||||
</description>
|
||||
<name>timeZone</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The time zone. A String value is interpreted as
|
||||
a time zone ID. This may be one of the time zone
|
||||
IDs supported by the Java platform (such as
|
||||
"America/Los_Angeles") or a custom time zone
|
||||
ID (such as "GMT-8"). See
|
||||
java.util.TimeZone for more information on
|
||||
supported time zone formats.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Stores the given time zone in the time zone configuration variable
|
||||
</description>
|
||||
<name>setTimeZone</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The time zone. A String value is interpreted as
|
||||
a time zone ID. This may be one of the time zone
|
||||
IDs supported by the Java platform (such as
|
||||
"America/Los_Angeles") or a custom time zone
|
||||
ID (such as "GMT-8"). See java.util.TimeZone for
|
||||
more information on supported time zone
|
||||
formats.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which
|
||||
stores the time zone of type
|
||||
java.util.TimeZone.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var or the time zone configuration
|
||||
variable.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Loads a resource bundle to be used by its tag body
|
||||
</description>
|
||||
<name>bundle</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.BundleTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Resource bundle base name. This is the bundle's
|
||||
fully-qualified resource name, which has the same
|
||||
form as a fully-qualified class name, that is, it uses
|
||||
"." as the package component separator and does not
|
||||
have any file type (such as ".class" or ".properties")
|
||||
suffix.
|
||||
</description>
|
||||
<name>basename</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Prefix to be prepended to the value of the message
|
||||
key of any nested <fmt:message> action.
|
||||
</description>
|
||||
<name>prefix</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Loads a resource bundle and stores it in the named scoped variable or
|
||||
the bundle configuration variable
|
||||
</description>
|
||||
<name>setBundle</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Resource bundle base name. This is the bundle's
|
||||
fully-qualified resource name, which has the same
|
||||
form as a fully-qualified class name, that is, it uses
|
||||
"." as the package component separator and does not
|
||||
have any file type (such as ".class" or ".properties")
|
||||
suffix.
|
||||
</description>
|
||||
<name>basename</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which stores
|
||||
the i18n localization context of type
|
||||
javax.servlet.jsp.jstl.fmt.LocalizationC
|
||||
ontext.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var or the localization context
|
||||
configuration variable.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Maps key to localized message and performs parametric replacement
|
||||
</description>
|
||||
<name>message</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.MessageTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Message key to be looked up.
|
||||
</description>
|
||||
<name>key</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Localization context in whose resource
|
||||
bundle the message key is looked up.
|
||||
</description>
|
||||
<name>bundle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable
|
||||
which stores the localized message.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Supplies an argument for parametric replacement to a containing
|
||||
<message> tag
|
||||
</description>
|
||||
<name>param</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParamTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Argument used for parametric replacement.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Formats a numeric value as a number, currency, or percentage
|
||||
</description>
|
||||
<name>formatNumber</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Numeric value to be formatted.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the value is to be
|
||||
formatted as number, currency, or
|
||||
percentage.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting pattern.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
ISO 4217 currency code. Applied only
|
||||
when formatting currencies (i.e. if type is
|
||||
equal to "currency"); ignored otherwise.
|
||||
</description>
|
||||
<name>currencyCode</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Currency symbol. Applied only when
|
||||
formatting currencies (i.e. if type is equal
|
||||
to "currency"); ignored otherwise.
|
||||
</description>
|
||||
<name>currencySymbol</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the formatted output
|
||||
will contain any grouping separators.
|
||||
</description>
|
||||
<name>groupingUsed</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Maximum number of digits in the integer
|
||||
portion of the formatted output.
|
||||
</description>
|
||||
<name>maxIntegerDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Minimum number of digits in the integer
|
||||
portion of the formatted output.
|
||||
</description>
|
||||
<name>minIntegerDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Maximum number of digits in the
|
||||
fractional portion of the formatted output.
|
||||
</description>
|
||||
<name>maxFractionDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Minimum number of digits in the
|
||||
fractional portion of the formatted output.
|
||||
</description>
|
||||
<name>minFractionDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable
|
||||
which stores the formatted result as a
|
||||
String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Parses the string representation of a number, currency, or percentage
|
||||
</description>
|
||||
<name>parseNumber</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
String to be parsed.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the string in the value
|
||||
attribute should be parsed as a number,
|
||||
currency, or percentage.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting pattern that determines
|
||||
how the string in the value attribute is to be
|
||||
parsed.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Locale whose default formatting pattern (for
|
||||
numbers, currencies, or percentages,
|
||||
respectively) is to be used during the parse
|
||||
operation, or to which the pattern specified
|
||||
via the pattern attribute (if present) is
|
||||
applied.
|
||||
</description>
|
||||
<name>parseLocale</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether just the integer portion of
|
||||
the given value should be parsed.
|
||||
</description>
|
||||
<name>integerOnly</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which
|
||||
stores the parsed result (of type
|
||||
java.lang.Number).
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Formats a date and/or time using the supplied styles and pattern
|
||||
</description>
|
||||
<name>formatDate</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Date and/or time to be formatted.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the time, the date, or both
|
||||
the time and date components of the given
|
||||
date are to be formatted.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting style for dates. Follows
|
||||
the semantics defined in class
|
||||
java.text.DateFormat. Applied only
|
||||
when formatting a date or both a date and
|
||||
time (i.e. if type is missing or is equal to
|
||||
"date" or "both"); ignored otherwise.
|
||||
</description>
|
||||
<name>dateStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting style for times. Follows
|
||||
the semantics defined in class
|
||||
java.text.DateFormat. Applied only
|
||||
when formatting a time or both a date and
|
||||
time (i.e. if type is equal to "time" or "both");
|
||||
ignored otherwise.
|
||||
</description>
|
||||
<name>timeStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting style for dates and times.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Time zone in which to represent the formatted
|
||||
time.
|
||||
</description>
|
||||
<name>timeZone</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which
|
||||
stores the formatted result as a String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Parses the string representation of a date and/or time
|
||||
</description>
|
||||
<name>parseDate</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Date string to be parsed.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the date string in the
|
||||
value attribute is supposed to contain a
|
||||
time, a date, or both.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting style for days
|
||||
which determines how the date
|
||||
component of the date string is to be
|
||||
parsed. Applied only when formatting a
|
||||
date or both a date and time (i.e. if type
|
||||
is missing or is equal to "date" or "both");
|
||||
ignored otherwise.
|
||||
</description>
|
||||
<name>dateStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting styles for times
|
||||
which determines how the time
|
||||
component in the date string is to be
|
||||
parsed. Applied only when formatting a
|
||||
time or both a date and time (i.e. if type
|
||||
is equal to "time" or "both"); ignored
|
||||
otherwise.
|
||||
</description>
|
||||
<name>timeStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting pattern which
|
||||
determines how the date string is to be
|
||||
parsed.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Time zone in which to interpret any time
|
||||
information in the date string.
|
||||
</description>
|
||||
<name>timeZone</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Locale whose predefined formatting styles
|
||||
for dates and times are to be used during
|
||||
the parse operation, or to which the
|
||||
pattern specified via the pattern
|
||||
attribute (if present) is applied.
|
||||
</description>
|
||||
<name>parseLocale</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable in
|
||||
which the parsing result (of type
|
||||
java.util.Date) is stored.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
</taglib>
|
||||
@@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
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 ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
|
||||
version="2.0">
|
||||
|
||||
<description>JSTL 1.1 functions library</description>
|
||||
<display-name>JSTL functions</display-name>
|
||||
<tlib-version>1.1</tlib-version>
|
||||
<short-name>fn</short-name>
|
||||
<uri>http://java.sun.com/jsp/jstl/functions</uri>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string contains the specified substring.
|
||||
</description>
|
||||
<name>contains</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean contains(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:contains(name, searchString)}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string contains the specified substring in a case insensitive way.
|
||||
</description>
|
||||
<name>containsIgnoreCase</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean containsIgnoreCase(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:containsIgnoreCase(name, searchString)}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string ends with the specified suffix.
|
||||
</description>
|
||||
<name>endsWith</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean endsWith(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:endsWith(filename, ".txt")}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Escapes characters that could be interpreted as XML markup.
|
||||
</description>
|
||||
<name>escapeXml</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String escapeXml(java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:escapeXml(param:info)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns the index withing a string of the first occurrence of a specified substring.
|
||||
</description>
|
||||
<name>indexOf</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>int indexOf(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:indexOf(name, "-")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Joins all elements of an array into a string.
|
||||
</description>
|
||||
<name>join</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String join(java.lang.String[], java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:join(array, ";")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns the number of items in a collection, or the number of characters in a string.
|
||||
</description>
|
||||
<name>length</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>int length(java.lang.Object)</function-signature>
|
||||
<example>
|
||||
You have ${fn:length(shoppingCart.products)} in your shopping cart.
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a string resulting from replacing in an input string all occurrences
|
||||
of a "before" string into an "after" substring.
|
||||
</description>
|
||||
<name>replace</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:replace(text, "-", "•")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Splits a string into an array of substrings.
|
||||
</description>
|
||||
<name>split</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String[] split(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:split(customerNames, ";")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string starts with the specified prefix.
|
||||
</description>
|
||||
<name>startsWith</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean startsWith(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:startsWith(product.id, "100-")}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a subset of a string.
|
||||
</description>
|
||||
<name>substring</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String substring(java.lang.String, int, int)</function-signature>
|
||||
<example>
|
||||
P.O. Box: ${fn:substring(zip, 6, -1)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a subset of a string following a specific substring.
|
||||
</description>
|
||||
<name>substringAfter</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String substringAfter(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
P.O. Box: ${fn:substringAfter(zip, "-")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a subset of a string before a specific substring.
|
||||
</description>
|
||||
<name>substringBefore</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String substringBefore(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
Zip (without P.O. Box): ${fn:substringBefore(zip, "-")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Converts all of the characters of a string to lower case.
|
||||
</description>
|
||||
<name>toLowerCase</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String toLowerCase(java.lang.String)</function-signature>
|
||||
<example>
|
||||
Product name: ${fn.toLowerCase(product.name)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Converts all of the characters of a string to upper case.
|
||||
</description>
|
||||
<name>toUpperCase</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String toUpperCase(java.lang.String)</function-signature>
|
||||
<example>
|
||||
Product name: ${fn.UpperCase(product.name)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Removes white spaces from both ends of a string.
|
||||
</description>
|
||||
<name>trim</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String trim(java.lang.String)</function-signature>
|
||||
<example>
|
||||
Name: ${fn.trim(name)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
</taglib>
|
||||
@@ -0,0 +1,83 @@
|
||||
<%@page contentType="text/html;charset=ISO-8859-1" language="java"%>
|
||||
<%@include file="/WEB-INF/jsp/common/taglibs.jsp"%>
|
||||
<%
|
||||
String ua = request.getHeader("User-Agent").toLowerCase();
|
||||
boolean mobile = ua.matches("(?i).*(android.+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || ua.substring(0, 4).matches("(?i)1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-");
|
||||
pageContext.setAttribute("mobile", mobile);
|
||||
%>
|
||||
|
||||
<s:layout-definition>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mirth Connect Web Administrator</title>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="${contextPath}/images/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="${contextPath}/css/bootstrap.css" />
|
||||
<link rel="stylesheet" type="text/css" href="${contextPath}/css/statistics.css" />
|
||||
<s:layout-component name="head" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav id="header" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
||||
<div class="navbar-inner">
|
||||
<div id="statisticsNavbarContainer" class="container" style="width: 98%;">
|
||||
<a class="navbar-brand"> <img alt="Mirth Connect" src="${contextPath}/css/mirthconnectlogowide.png" style="height: 30px"></a>
|
||||
<ul id="navbarList" class="nav navbar-nav">
|
||||
<li id="li_dashboardstatistics"><s:link beanclass="com.mirth.connect.webadmin.action.DashboardStatisticsActionBean">Dashboard Statistics</s:link></li>
|
||||
</ul>
|
||||
|
||||
<div id="userButtonContainer" class="nav navbar-nav btn-group navbar-right" style="margin-top: 8px;">
|
||||
<a id="userButton" class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"> <span class="glyphicon glyphicon-user"></span> ${user.username} <span class="caret"></span></a>
|
||||
|
||||
<ul class="dropdown-menu">
|
||||
<c:if test="${not mobile}">
|
||||
<li><a href="#" onClick="launchAdministrator()"> <span class="glyphicon glyphicon-upload"></span> Launch Administrator</a></li>
|
||||
<li class="divider"></li>
|
||||
</c:if>
|
||||
|
||||
<li><a href="Logout.action"> <span class="glyphicon glyphicon-share"></span> Logout</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div id="body">
|
||||
<s:layout-component name="body" />
|
||||
</div>
|
||||
|
||||
<div id="footer"></div>
|
||||
|
||||
<!-- Scripts placed at the end of the document so the pages load faster -->
|
||||
<script src="${contextPath}/js/jquery-1.8.0.js"></script>
|
||||
<script src="${contextPath}/js/bootstrap.min.js"></script>
|
||||
|
||||
<!-- Script to highlight navbar links as active upon click -->
|
||||
<script type="text/javascript">
|
||||
function getCurrentPageName() {
|
||||
var pageURL = document.location.href;
|
||||
var pageName = pageURL.substring(pageURL.lastIndexOf('/') + 1);
|
||||
|
||||
return pageName.toLowerCase();
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var currPage = getCurrentPageName();
|
||||
|
||||
switch (currPage) {
|
||||
case 'dashboardstatistics.action':
|
||||
$('#li_dashboardstatistics').addClass('active');
|
||||
break;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function launchAdministrator(){
|
||||
window.location.href = 'http://' + window.location.hostname + ':${actionBean.context.httpPort}${actionBean.context.contextPath}/webstart.jnlp?time=' + new Date().getTime();
|
||||
}
|
||||
</script>
|
||||
|
||||
<s:layout-component name="scripts" />
|
||||
</body>
|
||||
</html>
|
||||
</s:layout-definition>
|
||||
@@ -0,0 +1,7 @@
|
||||
<%@taglib prefix="s" uri="http://stripes.sourceforge.net/stripes.tld"%>
|
||||
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@taglib prefix="d" uri="http://displaytag.sf.net"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
|
||||
<c:set var="contextPath" value="${pageContext.request.contextPath}" />
|
||||
@@ -0,0 +1,207 @@
|
||||
<%@include file="/WEB-INF/jsp/common/taglibs.jsp"%>
|
||||
|
||||
<s:layout-render name="/WEB-INF/jsp/common/layoutmain.jsp" title="Dashboard Statistics">
|
||||
<s:layout-component name="head">
|
||||
<link href="${contextPath}/css/jquery.treeTable.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- Hack to fix CSS spacing conflict between tablesorter and bootstrap -->
|
||||
<style type="text/css">
|
||||
.header div {
|
||||
float: left;
|
||||
}
|
||||
</style>
|
||||
</s:layout-component>
|
||||
|
||||
<s:layout-component name="body">
|
||||
<div id="errorAlert" class="alert alert-danger hide fade in" data-alert="alert" style= "margin-left:auto; margin-right:auto;">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<p><strong>Error connecting to Server</strong>. Refresh the page or <a href="Index.action">Login</a></p>
|
||||
</div>
|
||||
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="active"><a id="current" href="#" data-toggle="tab">Current Statistics</a></li>
|
||||
<li><a id="lifetime" href="#" data-toggle="tab">Lifetime Statistics</a></li>
|
||||
</ul>
|
||||
|
||||
<table class="table table-striped table-bordered table-condensed tablesorter" style="width: 98%;" id="treeTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Status</th>
|
||||
<th>Received</th>
|
||||
<th>Filtered</th>
|
||||
<th>Queued</th>
|
||||
<th>Sent</th>
|
||||
<th>Errored</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${actionBean.dashboardStatusList}" var="dashboardStatus" varStatus="status">
|
||||
<c:set var="deployedStatus" value="${fn:toLowerCase(dashboardStatus.state)}" />
|
||||
|
||||
<tr id="node-${status.index}">
|
||||
<td class="parent">${dashboardStatus.name}</td>
|
||||
<td style="text-transform: capitalize">${deployedStatus}</td>
|
||||
<td>${dashboardStatus.statistics[RECEIVED]}</td>
|
||||
<td>${dashboardStatus.statistics[FILTERED]}</td>
|
||||
<td>${dashboardStatus.queued}</td>
|
||||
<td>${dashboardStatus.statistics[SENT]}</td>
|
||||
<td class="errors" <c:if test="${dashboardStatus.statistics[ERROR] != 0}"> style="background-color:LightPink;" </c:if>> ${dashboardStatus.statistics[ERROR]}</td>
|
||||
</tr>
|
||||
|
||||
<c:forEach items="${dashboardStatus.childStatuses}" var="childStatus">
|
||||
<c:set var="childName" value="${childStatus.name}" />
|
||||
<c:set var="trimName" value="${fn:replace(childName,' ','-')}" />
|
||||
|
||||
<tr id="${trimName}-${status.index}" class="child-of-node-${status.index} expand-child">
|
||||
<c:set var="deployedStatus" value="${fn:toLowerCase(childStatus.state)}" />
|
||||
|
||||
<td class="child">${childStatus.name}</td>
|
||||
<td style="text-transform: capitalize">${deployedStatus}</td>
|
||||
<td>${childStatus.statistics[RECEIVED]}</td>
|
||||
<td>${childStatus.statistics[FILTERED]}</td>
|
||||
<td>${childStatus.queued}</td>
|
||||
<td>${childStatus.statistics[SENT]}</td>
|
||||
<td class="errors" <c:if test="${childStatus.statistics[ERROR] != 0}"> style="background-color:LightPink;" </c:if>> ${childStatus.statistics[ERROR]}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</s:layout-component>
|
||||
|
||||
<s:layout-component name="scripts">
|
||||
<script type="text/javascript" src="${contextPath}/js/jquery.treeTable.js"></script>
|
||||
<script type="text/javascript" src="${contextPath}/js/persist-min.js"></script>
|
||||
<script type="text/javascript" src="${contextPath}/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="${contextPath}/js/jquery.tablesorter.widgets.min.js"></script>
|
||||
|
||||
<!-- Script to update stats dynamically every x seconds via ajax -->
|
||||
<script type="text/javascript">
|
||||
var timeout = 5000;
|
||||
var showLifetimeStats = false;
|
||||
var updateTimeout;
|
||||
|
||||
function updateStats() {
|
||||
$.get('DashboardStatistics.action?getStats&showLifetimeStats=' + showLifetimeStats, function(nodes) {
|
||||
var showAlert = ${actionBean.showAlert};
|
||||
|
||||
// Refresh
|
||||
if (nodes == "0") {
|
||||
document.location.reload(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (showAlert) {
|
||||
$("#errorAlert").removeClass('hide');
|
||||
} else {
|
||||
$("#errorAlert").addClass('hide');
|
||||
}
|
||||
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
var node = nodes[i];
|
||||
var row = $('#' + node.id);
|
||||
|
||||
checkAndUpdateError(node);
|
||||
|
||||
var status = node.status;
|
||||
row.children().eq(1).text(status.charAt(0).toUpperCase() + status.slice(1).toLowerCase());
|
||||
row.children().eq(2).text(node.received);
|
||||
row.children().eq(3).text(node.filtered);
|
||||
row.children().eq(4).text(node.queued);
|
||||
row.children().eq(5).text(node.sent);
|
||||
row.children().eq(6).text(node.errored);
|
||||
}
|
||||
|
||||
$('.result').html(nodes);
|
||||
}, "json");
|
||||
|
||||
updateTimeout = setTimeout(updateStats, timeout);
|
||||
}
|
||||
|
||||
function checkAndUpdateError(node) {
|
||||
var row = $('#' + node.id);
|
||||
|
||||
if (node.errored > 0) {
|
||||
row.children().eq(6).css("background-color", "LightPink");
|
||||
} else {
|
||||
// Even rows paint cell background transparent
|
||||
if (row.index() % 2 == 0) {
|
||||
row.children().eq(6).css("background-color", "#F9F9F9");
|
||||
}
|
||||
|
||||
// Odd rows paint cell background grey
|
||||
else {
|
||||
row.children().eq(6).css("background-color", "transparent");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
updateTimeout = setTimeout(updateStats, timeout);
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Enable Bootstrap Javascript Tabs -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#myTab a').click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
if ($(this).attr("id") == "current") {
|
||||
showLifetimeStats = false;
|
||||
clearTimeout(updateTimeout);
|
||||
} else {
|
||||
showLifetimeStats = true;
|
||||
clearTimeout(updateTimeout);
|
||||
}
|
||||
updateStats();
|
||||
$(this).tab('show');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- TreeTable plugin -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#treeTable").treeTable({
|
||||
initialState : "collapsed",
|
||||
clickableNodeNames : true,
|
||||
persist : true
|
||||
// Persist node expanded/collapsed state
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- TableSorter plugin -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#treeTable").tablesorter({
|
||||
// Persist sorting state
|
||||
widgets : [ "saveSort" ],
|
||||
|
||||
// Override tablesorter CSS to use bootstrap styling
|
||||
cssHeader : "header",
|
||||
cssAsc : "headerSortDown",
|
||||
cssDesc : "headerSortUp"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Script to highlight errored cells pink whenever value > 0 -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
if (Number($(this).text()) > 0) {
|
||||
$(this).css("background-color", "LightPink");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Hack to fix CSS extra arrow conflict between tablesorter and bootstrap -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#body table thead tr").removeAttr("class");
|
||||
});
|
||||
</script>
|
||||
</s:layout-component>
|
||||
</s:layout-render>
|
||||
@@ -0,0 +1,247 @@
|
||||
<%@include file="/WEB-INF/jsp/common/taglibs.jsp"%>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge">
|
||||
|
||||
<title>Mirth Connect Administrator</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
/* Break out of frame if inside a frame. */
|
||||
if (window != window.top) {
|
||||
window.top.location = window.location;
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="js/jquery-1.8.0.js"></script>
|
||||
<script type="text/javascript" src="js/bootstrap.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body id="body" style="display: none;" class="subpage" <c:if test="${actionBean.secureHttps == true}">onload="document.loginform.username.focus();"</c:if>>
|
||||
<div id="centerWrapper" class="container">
|
||||
<div class="row">
|
||||
<div id="mirthLogoWrapper">
|
||||
<img id="mirthLogo" src="images/mirthconnectlogowide.png" />
|
||||
</div>
|
||||
|
||||
<div id="mcadministrator" class="col-xs-6 col-xs-6-custom">
|
||||
<h1 style="text-align: center;">Mirth Connect Administrator</h1>
|
||||
|
||||
<div id="overviewwebstart">
|
||||
<div class="help-block">
|
||||
<strong>Overview of Web Start:</strong><br /> Java Web Start is a framework developed by Sun Microsystems that enables launching Java applications directly from a browser. Unlike Java applets, Web Start applications do not run inside the browser.
|
||||
</div>
|
||||
<div class="help-block">
|
||||
<br />Click the big green button below to launch the Mirth Connect Administrator using Java Web Start.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="text-align: center;">
|
||||
<a class="btn btn-md btn-themebutton" href="javascript:launchAdministrator()">Launch Mirth Connect Administrator</a>
|
||||
<div id="optionsDropdownContainer" class="dropdown">
|
||||
<button id="optionsButton" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown" role="button">
|
||||
<span class="glyphicon glyphicon-cog"></span>
|
||||
</button>
|
||||
<ul id="optionsDropdownMenu" class="dropdown-menu" role="menu" aria-labelledby="optionsButton">
|
||||
<li role="presentation"><span class="text-center">Web Start Settings<span></li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation">
|
||||
<span id="maxHeapSizeLabel" class="pull-left">Max Heap Size: </span>
|
||||
<select id="maxHeapSizeSelect"></select>
|
||||
<p id="maxHeapSizeWarning"><b>Note:</b> The Administrator may fail to start if the max heap size is set too high.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="webdashboardsignin" class="col-xs-6 col-xs-6-custom">
|
||||
<h1 id="webDashboardHeader" style="text-align: center;">Web Dashboard Sign in</h1>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${actionBean.secureHttps == true}">
|
||||
<form id="webLoginForm" name="loginform" action="Login.action" method="post">
|
||||
<div id="loginErrorAlert" class="alert alert-danger hide fade in" data-alert="alert">
|
||||
<p>Invalid login credentials</p>
|
||||
</div>
|
||||
<div id="webLoginWrapper">
|
||||
<div id="webLogin">
|
||||
<input type="hidden" name="op" value="login" /> <input type="hidden" name="version" value="0.0.0" /> <label for="username">Username</label>
|
||||
<input id="username" type="text" name="username" autocomplete="off" maxlength="32" /> <label for="password">Password</label>
|
||||
<input id="password" type="password" name="password" autocomplete="off" />
|
||||
<div id="webLoginSecurityReminder" class="help-block">
|
||||
<strong>Security Reminder:</strong><br /> Sign out of your account when you finish your session.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="webLoginButton">
|
||||
<input class="btn btn-md btn-themebutton" type="submit" value="Sign in"/>
|
||||
</div>
|
||||
</form>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div id="securesiteaccess">
|
||||
<p>The Mirth Connect Web Dashboard must be accessed over HTTPS. Click below button to switch to the secure site.</p>
|
||||
<div class="help-block">
|
||||
<br/><strong>Note:</strong><br/> You may see a certificate error if your server is using a <a href="http://en.wikipedia.org/wiki/Self-signed_certificate" target="_blank">self-signed certificate</a>. To prevent further warnings, you can add this certificate to your browser or operating system.
|
||||
</div>
|
||||
</div>
|
||||
<div id="accessSecureSiteButton" style="text-align: center;">
|
||||
<a class="btn btn-md btn-themebutton" href="SecureAccess.action">Access Secure Site</a>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="smallSubPage">
|
||||
<p>© 2017 Mirth Corporation | Mirth Connect</p>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(
|
||||
function detectMobile() {
|
||||
/**
|
||||
* jQuery.browser.mobile (http://detectmobilebrowser.com/)
|
||||
* jQuery.browser.mobile will be true if the browser is a mobile device
|
||||
**/
|
||||
(function(a) {
|
||||
jQuery.browser.mobile = /android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))
|
||||
})(navigator.userAgent || navigator.vendor || window.opera);
|
||||
|
||||
if (jQuery.browser.mobile) {
|
||||
$("#mcadministrator").hide();
|
||||
|
||||
$("#centerWrapper").css("margin", "0");
|
||||
$("#centerWrapper").css("padding", "0");
|
||||
$("#centerWrapper").css("border", "none");
|
||||
$("#centerWrapper").css("width", "100%");
|
||||
|
||||
$("#webdashboardsignin").css("border-left", "0");
|
||||
$("#webdashboardsignin").css("margin-left", "0");
|
||||
$("#webdashboardsignin").css("padding-left", "0");
|
||||
$("#webdashboardsignin").css("width", "100%");
|
||||
|
||||
$("#username").css("width", "100%");
|
||||
$("#password").css("width", "100%");
|
||||
|
||||
$("#securesiteaccess").css("margin-left", "30px");
|
||||
|
||||
// Set viewport meta tag
|
||||
var mt = $('meta[name=viewport]');
|
||||
mt = mt.length ? mt : $('<meta name="viewport" />').appendTo('head');
|
||||
mt.attr('content', 'initial-scale=.8,maximum-scale=.8,user-scalable=no,width=device-width');
|
||||
} else {
|
||||
$("#mcadministrator").show();
|
||||
}
|
||||
$("#body").css("display", "inline");
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
var showAlert = false;
|
||||
$(document).ready(function() {
|
||||
// Get the default max heap size and options from the context
|
||||
var defaultMaxHeapSize = convertHeapSizeString('${actionBean.context.maxHeapSize}', 512);
|
||||
var maxHeapSizeOptions = '${actionBean.context.maxHeapSizeOptions}';
|
||||
var options = [];
|
||||
|
||||
// Set the options if they were specified in the context
|
||||
if (maxHeapSizeOptions) {
|
||||
var optionsStringArray = maxHeapSizeOptions.split(',');
|
||||
|
||||
for (var i = 0; i < optionsStringArray.length; i++) {
|
||||
var heapSize = convertHeapSizeString(optionsStringArray[i]);
|
||||
if (heapSize) {
|
||||
options.push(heapSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If no options were specified or they were invalid, set the defaults
|
||||
if (options.length == 0) {
|
||||
options = [256,512,1024,2048];
|
||||
}
|
||||
|
||||
// Determine if the default is contained in the options array
|
||||
var found = false;
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
if (options[i].toString() == defaultMaxHeapSize) {
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
||||
// If not, put it in the array
|
||||
if (!found) {
|
||||
options.push(defaultMaxHeapSize);
|
||||
}
|
||||
|
||||
// Sort the options array
|
||||
options.sort(function(a,b) {return a-b});
|
||||
|
||||
// Build the options HTML for the select input
|
||||
var selectHtml = '';
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
var num = options[i];
|
||||
var selected = (num.toString() == defaultMaxHeapSize);
|
||||
var letter = 'm';
|
||||
|
||||
if (num % 1024 == 0) {
|
||||
num /= 1024;
|
||||
letter = 'g';
|
||||
}
|
||||
selectHtml += '<option value="' + num + letter + '"' + (selected ? ' selected' : '') + '>' + num + ' ' + letter.toUpperCase() + 'B</option>';
|
||||
}
|
||||
|
||||
// Set the options
|
||||
$('#maxHeapSizeSelect').html(selectHtml);
|
||||
|
||||
// This prevents closing the Bootstrap dropdown when clicking on the select input
|
||||
$('#optionsDropdownMenu').click(function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
$.urlParam = function(name) {
|
||||
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
|
||||
if (results != null) {
|
||||
return results[1] || 0;
|
||||
}
|
||||
}
|
||||
showAlert = $.urlParam('showAlert');
|
||||
|
||||
if (showAlert) {
|
||||
$("#loginErrorAlert").removeClass('hide');
|
||||
return false;
|
||||
} else {
|
||||
$("#loginErrorAlert").addClass('hide');
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
function convertHeapSizeString(str, defaultSize) {
|
||||
str = new String(str);
|
||||
defaultSize = new Number(defaultSize) || 0;
|
||||
var heapSize = new Number(str.replace(/[^\d]/g,'')) || defaultSize;
|
||||
|
||||
var heapSizeLetter = str.replace(/[^mg]/ig,'');
|
||||
if (!/[mg]/i.test(heapSizeLetter)) {
|
||||
heapSizeLetter = 'm';
|
||||
}
|
||||
if (heapSizeLetter.toLowerCase() == 'g') {
|
||||
heapSize *= 1024;
|
||||
}
|
||||
|
||||
return heapSize;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
function launchAdministrator(){
|
||||
window.location.href = 'http://' + window.location.hostname + ':${actionBean.context.httpPort}${actionBean.context.contextPath}/webstart.jnlp?time=' + new Date().getTime() + '&maxHeapSize=' + $('#maxHeapSizeSelect').val();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
|
||||
<filter>
|
||||
<filter-name>StripesFilter</filter-name>
|
||||
<filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>ActionResolver.Packages</param-name>
|
||||
<param-value>com.mirth.connect.webadmin.action</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>ActionBeanContext.Class</param-name>
|
||||
<param-value>com.mirth.connect.webadmin.action.BaseActionBeanContext</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>DispatcherServlet</servlet-name>
|
||||
<servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<!-- JSPC servlet mappings start -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.dashboardstatistics_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.dashboardstatistics_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.index_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.index_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.taglibs_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.common.taglibs_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.layoutmain_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.common.layoutmain_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.dashboardstatistics_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/dashboardstatistics.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.index_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/index.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.taglibs_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/common/taglibs.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.layoutmain_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/common/layoutmain.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- JSPC servlet mappings end -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>DispatcherServlet</servlet-name>
|
||||
<url-pattern>*.action</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>StripesFilter</filter-name>
|
||||
<servlet-name>DispatcherServlet</servlet-name>
|
||||
<dispatcher>REQUEST</dispatcher>
|
||||
<dispatcher>FORWARD</dispatcher>
|
||||
</filter-mapping>
|
||||
|
||||
<jsp-config>
|
||||
<taglib>
|
||||
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
|
||||
<taglib-location>/WEB-INF/c.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
|
||||
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://java.sun.com/jsp/jstl/functions</taglib-uri>
|
||||
<taglib-location>/WEB-INF/fn.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://stripes.sourceforge.net/stripes.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/stripes.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://displaytag.sf.net</taglib-uri>
|
||||
<taglib-location>/WEB-INF/displaytag.tld</taglib-location>
|
||||
</taglib>
|
||||
</jsp-config>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
||||
@@ -0,0 +1,100 @@
|
||||
.ux-maximgb-treegrid-breadcrumbs
|
||||
{
|
||||
color: #15428B;
|
||||
border-bottom: 1px solid #D0D0D0;
|
||||
font: normal 11px arial, tahoma, helvetica, sans-serif;
|
||||
-moz-outline: none;
|
||||
-moz-user-focus: normal;
|
||||
line-height: 15px;
|
||||
padding: 4px 3px 4px 6px;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-brditem
|
||||
{
|
||||
color: #15428B;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-uiwrap
|
||||
{
|
||||
float: left;
|
||||
position: relative;
|
||||
height: 18px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-empty
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-line
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-line.gif) repeat-x;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-end
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-end.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-active
|
||||
{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-minus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-minus.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-end-minus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-end-minus.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-plus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-plus.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-end-plus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-end-plus.gif) no-repeat;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
.ux-maximgb-treegrid-level-0
|
||||
{
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-1
|
||||
{
|
||||
background-color: #DFE7FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-2
|
||||
{
|
||||
background-color: #BFCFFF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-3
|
||||
{
|
||||
background-color: #9FB7FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-4
|
||||
{
|
||||
background-color: #809FFF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-5
|
||||
{
|
||||
background-color: #6087FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-6
|
||||
{
|
||||
background-color: #4070FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-7
|
||||
{
|
||||
background-color: #2058FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-8
|
||||
{
|
||||
background-color: #0040FF;
|
||||
}
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,55 @@
|
||||
/* jQuery treeTable stylesheet
|
||||
*
|
||||
* This file contains styles that are used to display the tree table. Each tree
|
||||
* table is assigned the +treeTable+ class.
|
||||
* ========================================================================= */
|
||||
|
||||
/* jquery.treeTable.collapsible
|
||||
* ------------------------------------------------------------------------- */
|
||||
.treeTable tr td .expander {
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
zoom: 1; /* IE7 Hack */
|
||||
}
|
||||
|
||||
.treeTable tr td a.expander {
|
||||
background-position: left center;
|
||||
background-repeat: no-repeat;
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.treeTable tr.collapsed td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-expand-dark.png);
|
||||
}
|
||||
|
||||
.treeTable tr.expanded td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-collapse-dark.png);
|
||||
}
|
||||
|
||||
/* jquery.treeTable.sortable
|
||||
* ------------------------------------------------------------------------- */
|
||||
.treeTable tr.selected, .treeTable tr.accept {
|
||||
background-color: #3875d7;
|
||||
}
|
||||
|
||||
.treeTable tr.selected a.expander, .treeTable tr.accept a.expander {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.treeTable tr.collapsed.selected td a.expander, .treeTable tr.collapsed.accept td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-expand-light.png);
|
||||
}
|
||||
|
||||
.treeTable tr.expanded.selected td a.expander, .treeTable tr.expanded.accept td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-collapse-light.png);
|
||||
}
|
||||
|
||||
.treeTable .ui-draggable-dragging {
|
||||
color: #000;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Layout helper taken from jQuery UI. This way I don't have to require the
|
||||
* full jQuery UI CSS to be loaded. */
|
||||
.ui-helper-hidden { display: none; }
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,79 @@
|
||||
body {
|
||||
padding-top: 80px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
#navbarList {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#userButtonContainer {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
#userButton {
|
||||
height: 28px !important;
|
||||
padding: 3px 8px !important;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
#statisticsNavbarContainer {
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#errorAlert {
|
||||
width: 410px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#errorAlert p {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
border-collapse: separate;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 1em 0;
|
||||
clear: both;
|
||||
max-width: 100%;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.table-bordered th + th, .table-bordered td + td, .table-bordered th + td, .table-bordered td + th {
|
||||
border-left: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.table th, .table td {
|
||||
padding: 3px 5px !important;
|
||||
line-height: 18px;
|
||||
text-align: left;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.table tr {
|
||||
height: 27px;
|
||||
}
|
||||
|
||||
a.expander {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
.table > thead > tr > th {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
td.child {
|
||||
padding-left: 39px !important;
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph />
|
||||
<glyph />
|
||||
<glyph unicode="
" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
|
||||
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="163" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="72" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
||||
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
||||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
||||
<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
|
||||
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
||||
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
||||
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
||||
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
||||
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
|
||||
<glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
|
||||
<glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
||||
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
||||
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
|
||||
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
||||
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
||||
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
||||
<glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
||||
<glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
|
||||
<glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
|
||||
<glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
|
||||
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
||||
<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
||||
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
||||
<glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
|
||||
<glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
||||
<glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
|
||||
<glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
||||
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
||||
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
||||
<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
|
||||
<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
|
||||
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
||||
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
||||
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
||||
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
||||
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
|
||||
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
||||
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
||||
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
|
||||
<glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
|
||||
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
||||
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
||||
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
|
||||
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
||||
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
|
||||
<glyph unicode="" d="M200 0l900 550l-900 550v-1100z" />
|
||||
<glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
|
||||
<glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
|
||||
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
||||
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
||||
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
||||
<glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" />
|
||||
<glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
|
||||
<glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
|
||||
<glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" />
|
||||
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
||||
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
|
||||
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
||||
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
||||
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
||||
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
||||
<glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
|
||||
<glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
|
||||
<glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
|
||||
<glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
|
||||
<glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
|
||||
<glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
|
||||
<glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
|
||||
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
||||
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
||||
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
|
||||
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
||||
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
|
||||
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
|
||||
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
||||
<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
|
||||
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
|
||||
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
|
||||
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
||||
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
||||
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
|
||||
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
|
||||
<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
|
||||
<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
|
||||
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
||||
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
||||
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
|
||||
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
||||
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
||||
<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
||||
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
|
||||
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
||||
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
||||
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
|
||||
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
|
||||
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
||||
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
||||
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
|
||||
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
||||
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 252 B |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="REFRESH" content="0;url=/webadmin/Index.action">
|
||||
</head>
|
||||
</html>
|
||||
@@ -0,0 +1,11 @@
|
||||
/*! tableSorter 2.3 widgets - updated 6/21/2012 */
|
||||
;(function(b){
|
||||
b.tablesorter.storage=function(e,a,c){var d,i=!1;d={};var k=e.id||b(".tablesorter").index(b(e)),h=window.location.pathname;try{i=!!localStorage.getItem}catch(f){}b.parseJSON&&(i?d=b.parseJSON(localStorage[a])||{}:(d=document.cookie.split(/[;\s|=]/),e=b.inArray(a,d)+1,d=0!==e?b.parseJSON(d[e])||{}:{}));if(c&&JSON&&JSON.hasOwnProperty("stringify")){if(!d[h]||!d[h][k])d[h]||(d[h]={});d[h][k]=c;i?localStorage[a]=JSON.stringify(d):(e=new Date,e.setTime(e.getTime()+31536E6),document.cookie= a+"="+JSON.stringify(d).replace(/\"/g,'"')+"; expires="+e.toGMTString()+"; path=/")}else return d&&d.hasOwnProperty(h)&&d[h].hasOwnProperty(k)?d[h][k]:{}};
|
||||
b.tablesorter.addWidget({id:"uitheme",format:function(e){var a,c,d,i,k,h=b(e),f=e.config,l=f.widgetOptions,g=["ui-icon-arrowthick-2-n-s","ui-icon-arrowthick-1-s","ui-icon-arrowthick-1-n"],g=f.widgetUitheme&&f.widgetUitheme.hasOwnProperty("css")?f.widgetUitheme.css||g:l&&l.hasOwnProperty("uitheme")?l.uitheme:g;d=g.join(" ");f.debug&&(a=new Date); h.hasClass("ui-theme")||(h.addClass("ui-widget ui-widget-content ui-corner-all ui-theme"),b.each(f.headerList,function(){b(this).addClass("ui-widget-header ui-corner-all ui-state-default").append('<span class="ui-icon"/>').wrapInner('<div class="tablesorter-inner"/>').hover(function(){b(this).addClass("ui-state-hover")},function(){b(this).removeClass("ui-state-hover")})}));b.each(f.headerList,function(a){i=b(this);if(this.sortDisabled)i.find("span.ui-icon").removeClass(d+" ui-icon");else{c=i.hasClass(f.cssAsc)? g[1]:i.hasClass(f.cssDesc)?g[2]:i.hasClass(f.cssHeader)?g[0]:"";k=h.hasClass("hasStickyHeaders")?h.find("tr."+(l.stickyHeaders||"tablesorter-stickyHeader")).find("th").eq(a).add(i):i;k[c===g[0]?"removeClass":"addClass"]("ui-state-active").find("span.ui-icon").removeClass(d).addClass(c)}});f.debug&&b.tablesorter.benchmark("Applying uitheme widget",a)}});
|
||||
b.tablesorter.addWidget({id:"columns",format:function(e){var a,c,d,i,k,h,f,l,g=e.config,m=b(e).children("tbody:not(."+g.cssInfoBlock+")"),p=g.sortList, r=p.length,q=["primary","secondary","tertiary"],q=g.widgetColumns&&g.widgetColumns.hasOwnProperty("css")?g.widgetColumns.css||q:g.widgetOptions&&g.widgetOptions.hasOwnProperty("columns")?g.widgetOptions.columns||q:q;k=q.length-1;h=q.join(" ");g.debug&&(i=new Date);for(l=0;l<m.length;l++)e=b(m[l]),a=e.addClass("tablesorter-hidden").children("tr"),a.each(function(){d=b(this);if("none"!==this.style.display&&(c=d.children().removeClass(h),p&&p[0]&&(c.eq(p[0][0]).addClass(q[0]),1<r)))for(f=1;f<r;f++)c.eq(p[f][0]).addClass(q[f]|| q[k])}),e.removeClass("tablesorter-hidden");g.debug&&b.tablesorter.benchmark("Applying Columns widget",i)}});
|
||||
b.tablesorter.addWidget({id:"filter",format:function(e){if(e.config.parsers&&!b(e).hasClass("hasFilters")){var a,c,d,i,k,h,f,l,g,m,p,r,q,z,v,t,D,A,n=e.config,w=b(n.headerList),j=n.widgetOptions,s=j.filter_cssFilter||"tablesorter-filter",u=b(e).addClass("hasFilters"),B=u.children("tbody:not(."+n.cssInfoBlock+")"),C=n.parsers.length,o='<tr class="'+s+'">',E=/^\/((?:\\\/|[^\/])+)\/([mig]{0,3})?$/, I=RegExp(n.cssChildRow),x,F,y=function(){n.debug&&(x=new Date);h=u.find("thead").eq(0).children("tr").find("select."+s+", input."+s).map(function(){return b(this).val()||""}).get();k=h.join("");for(d=0;d<B.length;d++){z=b(B[d]);t=z.addClass("tablesorter-hidden").children("tr");i=t.length;for(c=0;c<i;c++)if(""===k)t[c].style.display="";else if(!I.test(t[c].className)){l=!0;q=t.eq(c).nextUntil("tr:not(."+n.cssChildRow+")");m=q.length&&(j&&j.hasOwnProperty("filter_childRows")&&"undefined"!==typeof j.filter_childRows? j.filter_childRows:1)?q.text():"";m=j.filter_ignoreCase?m.toLocaleLowerCase():m;D=t.eq(c).children("td");for(a=0;a<C;a++)if(p=b.trim(D.eq(a).text()),r=j.filter_ignoreCase?p.toLocaleLowerCase():p,""!==h[a]){g=l;f=j.filter_ignoreCase?h[a].toLocaleLowerCase():h[a];if(j.filter_functions&&j.filter_functions[a])!0===j.filter_functions[a]?g=j.filter_ignoreCase?f===r:h[a]===p:"function"===typeof j.filter_functions[a]?g=j.filter_functions[a](p,n.cache[d].normalized[c][a],h[a],a):"function"===typeof j.filter_functions[a][h[a]]&& (g=j.filter_functions[a][h[a]](p,n.cache[d].normalized[c][a],h[a],a));else if(E.test(f)){A=E.exec(f);try{g=RegExp(A[1],A[2]).test(r)}catch(e){g=!1}}else/[\"|\']$/.test(f)&&r===f.replace(/(\"|\')/g,"")?g=!0:/[\?|\*]/.test(f)?g=RegExp(f.replace(/\?/g,"\\S{1}").replace(/\*/g,"\\S*")).test(r):(p=(r+m).indexOf(f),g=!j.filter_startsWith&&0<=p||j.filter_startsWith&&0===p);l=g?l?!0:!1:!1}t[c].style.display=l?"":"none";if(q.length)q[l?"show":"hide"]()}z.removeClass("tablesorter-hidden")}n.debug&&b.tablesorter.benchmark("Completed filter widget search", x);u.trigger("applyWidgets")},G=function(a,e){var f,g=[],a=parseInt(a,10);f='<option value="">'+(w.filter('[data-column="'+a+'"]:last').attr("data-placeholder")||"")+"</option>";for(d=0;d<B.length;d++){i=n.cache[d].row.length;for(c=0;c<i;c++)(m=n.cache[d].row[c][0].cells[a])&&g.push(n.supportsTextContent?m.textContent:b(m).text())}g=g.getUnique(!0);for(d=0;d<g.length;d++)f+='<option value="'+g[d]+'">'+g[d]+"</option>";u.find("thead").find("select."+s+'[data-column="'+a+'"]')[e?"html":"append"](f)}, H=function(b){for(a=0;a<C;a++)m=w.filter('[data-column="'+a+'"]:last'),m.hasClass("filter-select")&&(!m.hasClass("filter-false")&&!(j.filter_functions&&!0===j.filter_functions[a]))&&G(a,b)};n.debug&&(x=new Date);j.filter_ignoreCase=!1!==j.filter_ignoreCase;for(a=0;a<C;a++)v=w.filter('[data-column="'+a+'"]:last'),e=j.filter_functions&&j.filter_functions[a]&&"function"!==typeof j.filter_functions[a]||v.hasClass("filter-select"),o+="<td>",o=e?o+('<select data-column="'+a+'" class="'+s):o+('<input type="search" placeholder="'+ (v.attr("data-placeholder")||"")+'" data-column="'+a+'" class="'+s),o=b.tablesorter.getData?o+("false"===b.tablesorter.getData(v[0],n.headers[a],"filter")?' disabled" disabled':'"'):o+(n.headers[a]&&n.headers[a].hasOwnProperty("filter")&&!1===n.headers[a].filter||v.hasClass("filter-false")?' disabled" disabled':'"'),o+=(e?"></select>":">")+"</td>";u.bind("addRows updateCell update appendCache",function(){H(!0);y()}).find("thead").eq(0).append(o+="</tr>").find("input."+s).bind("keyup search",function(a, b){32>a.which&&8!==a.which||37<=a.which&&40>=a.which||(!1===b?y():(clearTimeout(F),F=setTimeout(function(){y()},j.filter_searchDelay||300)))});if(j.filter_functions)for(a in j.filter_functions)if(m=w.filter('[data-column="'+a+'"]:last'),o="","string"===typeof a&&!0===j.filter_functions[a]&&!m.hasClass("filter-false"))G(a);else if("string"===typeof a&&!m.hasClass("filter-false")){for(c in j.filter_functions[a])"string"===typeof c&&(o+=""===o?"<option>"+(m.attr("data-placeholder")||"")+"</option>": "",o+="<option>"+c+"</option>");u.find("thead").find("select."+s+'[data-column="'+a+'"]').append(o)}H();u.find("select."+s).bind("change",function(){y()});n.debug&&b.tablesorter.benchmark("Applying Filter widget",x)}}});
|
||||
b.tablesorter.addWidget({id:"stickyHeaders",format:function(e){if(!b(e).hasClass("hasStickyHeaders")){var a=b(e).addClass("hasStickyHeaders"),c=e.config.widgetOptions,d=b(window),i=b(e).children("thead"),k=i.children("tr:not(.sticky-false)").children(),h=c.stickyHeaders||"tablesorter-stickyHeader", f=k.eq(0),l=a.find("tfoot"),g=i.find("tr.tablesorter-header:not(.sticky-false)").clone().removeClass("tablesorter-header").addClass(h).css({width:i.outerWidth(!0),position:"fixed",left:f.offset().left,margin:0,top:0,visibility:"hidden",zIndex:10}),m=g.children(),p="";a.bind("sortEnd",function(a,d){var c=b(d).find("thead tr"),e=c.filter("."+h).children();c.filter(":not(."+h+")").children().each(function(a){e.eq(a).attr("class",b(this).attr("class"))})}).bind("pagerComplete",function(){d.resize()}); k.each(function(a){var d=b(this);m.eq(a).bind("mouseup",function(a){d.trigger(a,!0)}).bind("mousedown",function(){this.onselectstart=function(){return!1};return!1}).find(".tablesorter-header-inner").width(d.find(".tablesorter-header-inner").width())});i.prepend(g);d.scroll(function(){var b=f.offset(),c=d.scrollTop(),e=a.height()-(f.height()+(l.height()||0)),c=c>b.top&&c<b.top+e?"visible":"hidden";g.css({left:b.left-d.scrollLeft(),visibility:c});c!==p&&(d.resize(),p=c)}).resize(function(){var a=0; g.css({left:f.offset().left-d.scrollLeft(),width:i.outerWidth()}).each(function(c){b(this).css("top",a);a+=i.find("tr").eq(c).outerHeight()});m.find(".tablesorter-header-inner").each(function(a){b(this).width(k.eq(a).find(".tablesorter-header-inner").width())})})}}});
|
||||
b.tablesorter.addWidget({id:"resizable",format:function(e){if(!b(e).hasClass("hasResizable")){b(e).addClass("hasResizable");var a,c,d=e.config,i=b(d.headerList).filter(":gt(0)"),k=0,h=null,f=null,l=function(){k=0;h=f=null;b(window).trigger("resize")}; if(c=b.tablesorter.storage?b.tablesorter.storage(e,"tablesorter-resizable"):"")for(a in c)!isNaN(a)&&a<d.headerList.length&&b(d.headerList[a]).width(c[a]);i.each(function(){b(this).append('<div class="tablesorter-resizer" style="cursor:w-resize;position:absolute;height:100%;width:20px;left:-20px;top:0;z-index:1;"></div>').wrapInner('<div style="position:relative;height:100%;width:100%"></div>')}).bind("mousemove",function(a){if(0!==k&&h){var b=a.pageX-k;h.width()<-b||f&&f.width()<=b||(f.width(f.width()+ b),k=a.pageX)}}).bind("mouseup",function(){c&&(b.tablesorter.storage&&h)&&(c[f.index()]=f.width(),b.tablesorter.storage(e,"tablesorter-resizable",c));l();return!1}).find(".tablesorter-resizer").bind("mousedown",function(a){h=b(a.target).closest("th");f=h.prev();k=a.pageX;return!1});b(e).find("thead").bind("mouseup mouseleave",function(){l()})}}});
|
||||
b.tablesorter.addWidget({id:"saveSort",init:function(b,a,c){c.format(b,!0)},format:function(e,a){var c,d,i=e.config;c={sortList:i.sortList};i.debug&&(d= new Date);b(e).hasClass("hasSaveSort")?e.hasInitialized&&b.tablesorter.storage&&(b.tablesorter.storage(e,"tablesorter-savesort",c),i.debug&&b.tablesorter.benchmark("saveSort widget: Saving last sort: "+i.sortList,d)):(b(e).addClass("hasSaveSort"),c="",b.tablesorter.storage&&(c=(c=b.tablesorter.storage(e,"tablesorter-savesort"))&&c.hasOwnProperty("sortList")&&b.isArray(c.sortList)?c.sortList:"",i.debug&&b.tablesorter.benchmark("saveSort: Last sort loaded: "+c,d)),a&&c&&0<c.length?i.sortList=c:e.hasInitialized&& (c&&0<c.length)&&b(e).trigger("sorton",[c]))}})
|
||||
})(jQuery);
|
||||
Array.prototype.getUnique=function(b){var e,a=[],c={},d,i=0,k=this.length;for(d=0;d<k;++d)e=this[d],c[e]||(c[e]={},a[i++]=e);return b?a.sort():a};
|
||||
@@ -0,0 +1,308 @@
|
||||
/*
|
||||
* jQuery treeTable Plugin VERSION
|
||||
* http://ludo.cubicphuse.nl/jquery-plugins/treeTable/doc/
|
||||
*
|
||||
* Copyright 2011, Ludo van den Boom
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
*/
|
||||
(function($) {
|
||||
// Helps to make options available to all functions
|
||||
// TODO: This gives problems when there are both expandable and non-expandable
|
||||
// trees on a page. The options shouldn't be global to all these instances!
|
||||
var options;
|
||||
var defaultPaddingLeft;
|
||||
var persistStore;
|
||||
|
||||
$.fn.treeTable = function(opts) {
|
||||
options = $.extend({}, $.fn.treeTable.defaults, opts);
|
||||
|
||||
if(options.persist) {
|
||||
persistStore = new Persist.Store(options.persistStoreName);
|
||||
}
|
||||
|
||||
return this.each(function() {
|
||||
$(this).addClass("treeTable").find("tbody tr").each(function() {
|
||||
// Skip initialized nodes.
|
||||
if (!$(this).hasClass('initialized')) {
|
||||
var isRootNode = ($(this)[0].className.search(options.childPrefix) == -1);
|
||||
|
||||
// To optimize performance of indentation, I retrieve the padding-left
|
||||
// value of the first root node. This way I only have to call +css+
|
||||
// once.
|
||||
if (isRootNode && isNaN(defaultPaddingLeft)) {
|
||||
defaultPaddingLeft = parseInt($($(this).children("td")[options.treeColumn]).css('padding-left'), 10);
|
||||
}
|
||||
|
||||
// Set child nodes to initial state if we're in expandable mode.
|
||||
if(!isRootNode && options.expandable && options.initialState == "collapsed") {
|
||||
$(this).addClass('ui-helper-hidden');
|
||||
}
|
||||
|
||||
// If we're not in expandable mode, initialize all nodes.
|
||||
// If we're in expandable mode, only initialize root nodes.
|
||||
if(!options.expandable || isRootNode) {
|
||||
initialize($(this));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.treeTable.defaults = {
|
||||
childPrefix: "child-of-",
|
||||
clickableNodeNames: false,
|
||||
expandable: true,
|
||||
indent: 19,
|
||||
initialState: "collapsed",
|
||||
onNodeShow: null,
|
||||
onNodeHide: null,
|
||||
treeColumn: 0,
|
||||
persist: false,
|
||||
persistStoreName: 'treeTable',
|
||||
stringExpand: "Expand",
|
||||
stringCollapse: "Collapse"
|
||||
};
|
||||
|
||||
//Expand all nodes
|
||||
$.fn.expandAll = function() {
|
||||
$(this).find("tr").each(function() {
|
||||
$(this).expand();
|
||||
});
|
||||
};
|
||||
|
||||
//Collapse all nodes
|
||||
$.fn.collapseAll = function() {
|
||||
$(this).find("tr").each(function() {
|
||||
$(this).collapse();
|
||||
});
|
||||
};
|
||||
|
||||
// Recursively hide all node's children in a tree
|
||||
$.fn.collapse = function() {
|
||||
return this.each(function() {
|
||||
$(this).removeClass("expanded").addClass("collapsed");
|
||||
|
||||
if (options.persist) {
|
||||
persistNodeState($(this));
|
||||
}
|
||||
|
||||
childrenOf($(this)).each(function() {
|
||||
if(!$(this).hasClass("collapsed")) {
|
||||
$(this).collapse();
|
||||
}
|
||||
|
||||
$(this).addClass('ui-helper-hidden');
|
||||
|
||||
if($.isFunction(options.onNodeHide)) {
|
||||
options.onNodeHide.call(this);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// Recursively show all node's children in a tree
|
||||
$.fn.expand = function() {
|
||||
return this.each(function() {
|
||||
$(this).removeClass("collapsed").addClass("expanded");
|
||||
|
||||
if (options.persist) {
|
||||
persistNodeState($(this));
|
||||
}
|
||||
|
||||
childrenOf($(this)).each(function() {
|
||||
initialize($(this));
|
||||
|
||||
if($(this).is(".expanded.parent")) {
|
||||
$(this).expand();
|
||||
}
|
||||
|
||||
$(this).removeClass('ui-helper-hidden');
|
||||
|
||||
if($.isFunction(options.onNodeShow)) {
|
||||
options.onNodeShow.call(this);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// Reveal a node by expanding all ancestors
|
||||
$.fn.reveal = function() {
|
||||
$(ancestorsOf($(this)).reverse()).each(function() {
|
||||
initialize($(this));
|
||||
$(this).expand().show();
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
// Add an entire branch to +destination+
|
||||
$.fn.appendBranchTo = function(destination) {
|
||||
var node = $(this);
|
||||
var parent = parentOf(node);
|
||||
|
||||
var ancestorNames = $.map(ancestorsOf($(destination)), function(a) { return a.id; });
|
||||
|
||||
// Conditions:
|
||||
// 1: +node+ should not be inserted in a location in a branch if this would
|
||||
// result in +node+ being an ancestor of itself.
|
||||
// 2: +node+ should not have a parent OR the destination should not be the
|
||||
// same as +node+'s current parent (this last condition prevents +node+
|
||||
// from being moved to the same location where it already is).
|
||||
// 3: +node+ should not be inserted as a child of +node+ itself.
|
||||
if($.inArray(node[0].id, ancestorNames) == -1 && (!parent || (destination.id != parent[0].id)) && destination.id != node[0].id) {
|
||||
indent(node, ancestorsOf(node).length * options.indent * -1); // Remove indentation
|
||||
|
||||
if(parent) { node.removeClass(options.childPrefix + parent[0].id); }
|
||||
|
||||
node.addClass(options.childPrefix + destination.id);
|
||||
move(node, destination); // Recursively move nodes to new location
|
||||
indent(node, ancestorsOf(node).length * options.indent);
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
// Add reverse() function from JS Arrays
|
||||
$.fn.reverse = function() {
|
||||
return this.pushStack(this.get().reverse(), arguments);
|
||||
};
|
||||
|
||||
// Toggle an entire branch
|
||||
$.fn.toggleBranch = function() {
|
||||
if($(this).hasClass("collapsed")) {
|
||||
$(this).expand();
|
||||
} else {
|
||||
$(this).collapse();
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
// === Private functions
|
||||
|
||||
function ancestorsOf(node) {
|
||||
var ancestors = [];
|
||||
while(node = parentOf(node)) {
|
||||
ancestors[ancestors.length] = node[0];
|
||||
}
|
||||
return ancestors;
|
||||
};
|
||||
|
||||
function childrenOf(node) {
|
||||
return $(node).siblings("tr." + options.childPrefix + node[0].id);
|
||||
};
|
||||
|
||||
function getPaddingLeft(node) {
|
||||
var paddingLeft = parseInt(node[0].style.paddingLeft, 10);
|
||||
return (isNaN(paddingLeft)) ? defaultPaddingLeft : paddingLeft;
|
||||
}
|
||||
|
||||
function indent(node, value) {
|
||||
var cell = $(node.children("td")[options.treeColumn]);
|
||||
cell[0].style.paddingLeft = getPaddingLeft(cell) + value + "px";
|
||||
|
||||
childrenOf(node).each(function() {
|
||||
indent($(this), value);
|
||||
});
|
||||
};
|
||||
|
||||
function initialize(node) {
|
||||
if(!node.hasClass("initialized")) {
|
||||
node.addClass("initialized");
|
||||
|
||||
var childNodes = childrenOf(node);
|
||||
|
||||
if(!node.hasClass("parent") && childNodes.length > 0) {
|
||||
node.addClass("parent");
|
||||
}
|
||||
|
||||
if(node.hasClass("parent")) {
|
||||
var cell = $(node.children("td")[options.treeColumn]);
|
||||
var padding = getPaddingLeft(cell) + options.indent;
|
||||
|
||||
childNodes.each(function() {
|
||||
$(this).children("td")[options.treeColumn].style.paddingLeft = padding + "px";
|
||||
});
|
||||
|
||||
if(options.expandable) {
|
||||
var newLink = '<a href="#" title="' + options.stringExpand + '" style="margin-left: -' + options.indent + 'px; padding-left: ' + options.indent + 'px" class="expander"></a>';
|
||||
|
||||
if(options.clickableNodeNames) {
|
||||
cell.wrapInner(newLink);
|
||||
} else {
|
||||
cell.html(newLink+cell.html());
|
||||
}
|
||||
|
||||
$(cell[0].firstChild).click(function() { node.toggleBranch(); return false; }).mousedown(function() { return false; });
|
||||
$(cell[0].firstChild).keydown(function(e) { if(e.keyCode == 13) { node.toggleBranch(); return false; }});
|
||||
|
||||
if(options.clickableNodeNames) {
|
||||
cell[0].style.cursor = "pointer";
|
||||
$(cell).click(function(e) {
|
||||
// Don't double-toggle if the click is on the existing expander icon
|
||||
if (e.target.className != 'expander') {
|
||||
node.toggleBranch();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (options.persist && getPersistedNodeState(node)) {
|
||||
node.addClass('expanded');
|
||||
}
|
||||
|
||||
// Check for a class set explicitly by the user, otherwise set the default class
|
||||
if(!(node.hasClass("expanded") || node.hasClass("collapsed"))) {
|
||||
node.addClass(options.initialState);
|
||||
}
|
||||
|
||||
if(node.hasClass("expanded")) {
|
||||
node.expand();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function move(node, destination) {
|
||||
node.insertAfter(destination);
|
||||
childrenOf(node).reverse().each(function() { move($(this), node[0]); });
|
||||
};
|
||||
|
||||
function parentOf(node) {
|
||||
var classNames = node[0].className.split(' ');
|
||||
|
||||
for(var key=0; key<classNames.length; key++) {
|
||||
if(classNames[key].match(options.childPrefix)) {
|
||||
return $(node).siblings("#" + classNames[key].substring(options.childPrefix.length));
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
//saving state functions, not critical, so will not generate alerts on error
|
||||
function persistNodeState(node) {
|
||||
if(node.hasClass('expanded')) {
|
||||
try {
|
||||
persistStore.set(node.attr('id'), '1');
|
||||
} catch (err) {
|
||||
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
persistStore.remove(node.attr('id'));
|
||||
} catch (err) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getPersistedNodeState(node) {
|
||||
try {
|
||||
return persistStore.get(node.attr('id')) == '1';
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})(jQuery);
|
||||
@@ -0,0 +1,31 @@
|
||||
(function(){if(window.google&&google.gears){return;}
|
||||
var F=null;if(typeof GearsFactory!='undefined'){F=new GearsFactory();}else{try{F=new ActiveXObject('Gears.Factory');if(F.getBuildInfo().indexOf('ie_mobile')!=-1){F.privateSetGlobalObject(this);}}catch(e){if((typeof navigator.mimeTypes!='undefined')&&navigator.mimeTypes["application/x-googlegears"]){F=document.createElement("object");F.style.display="none";F.width=0;F.height=0;F.type="application/x-googlegears";document.documentElement.appendChild(F);}}}
|
||||
if(!F){return;}
|
||||
if(!window.google){google={};}
|
||||
if(!google.gears){google.gears={factory:F};}})();Persist=(function(){var VERSION='0.3.1',P,B,esc,init,empty,ec;ec=(function(){var EPOCH='Thu, 01-Jan-1970 00:00:01 GMT',RATIO=1000*60*60*24,KEYS=['expires','path','domain'],esc=escape,un=unescape,doc=document,me;var get_now=function(){var r=new Date();r.setTime(r.getTime());return r;};var cookify=function(c_key,c_val){var i,key,val,r=[],opt=(arguments.length>2)?arguments[2]:{};r.push(esc(c_key)+'='+esc(c_val));for(var idx=0;idx<KEYS.length;idx++){key=KEYS[idx];val=opt[key];if(val){r.push(key+'='+val);}}
|
||||
if(opt.secure){r.push('secure');}
|
||||
return r.join('; ');};var alive=function(){var k='__EC_TEST__',v=new Date();v=v.toGMTString();this.set(k,v);this.enabled=(this.remove(k)==v);return this.enabled;};me={set:function(key,val){var opt=(arguments.length>2)?arguments[2]:{},now=get_now(),expire_at,cfg={};if(opt.expires){var expires=opt.expires*RATIO;cfg.expires=new Date(now.getTime()+expires);cfg.expires=cfg.expires.toGMTString();}
|
||||
var keys=['path','domain','secure'];for(var i=0;i<keys.length;i++){if(opt[keys[i]]){cfg[keys[i]]=opt[keys[i]];}}
|
||||
var r=cookify(key,val,cfg);doc.cookie=r;return val;},has:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length);return((!ofs&&key!=sub)||ofs<0)?false:true;},get:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length),end;if((!ofs&&key!=sub)||ofs<0){return null;}
|
||||
end=c.indexOf(';',len);if(end<0){end=c.length;}
|
||||
return un(c.substring(len,end));},remove:function(k){var r=me.get(k),opt={expires:EPOCH};doc.cookie=cookify(k,'',opt);return r;},keys:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(var idx=0;idx<ps.length;idx++){p=ps[idx].split('=');r.push(un(p[0]));}
|
||||
return r;},all:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(var idx=0;idx<ps.length;idx++){p=ps[idx].split('=');r.push([un(p[0]),un(p[1])]);}
|
||||
return r;},version:'0.2.1',enabled:false};me.enabled=alive.call(me);return me;}());var index_of=(function(){if(Array.prototype.indexOf){return function(ary,val){return Array.prototype.indexOf.call(ary,val);};}else{return function(ary,val){var i,l;for(var idx=0,len=ary.length;idx<len;idx++){if(ary[idx]==val){return idx;}}
|
||||
return-1;};}})();empty=function(){};esc=function(str){return'PS'+str.replace(/_/g,'__').replace(/ /g,'_s');};var C={search_order:['localstorage','globalstorage','gears','cookie','ie','flash'],name_re:/^[a-z][a-z0-9_ \-]+$/i,methods:['init','get','set','remove','load','save','iterate'],sql:{version:'1',create:"CREATE TABLE IF NOT EXISTS persist_data (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)",get:"SELECT v FROM persist_data WHERE k = ?",set:"INSERT INTO persist_data(k, v) VALUES (?, ?)",remove:"DELETE FROM persist_data WHERE k = ?",keys:"SELECT * FROM persist_data"},flash:{div_id:'_persist_flash_wrap',id:'_persist_flash',path:'persist.swf',size:{w:1,h:1},params:{autostart:true}}};B={gears:{size:-1,test:function(){return(window.google&&window.google.gears)?true:false;},methods:{init:function(){var db;db=this.db=google.gears.factory.create('beta.database');db.open(esc(this.name));db.execute(C.sql.create).close();},get:function(key){var r,sql=C.sql.get;var db=this.db;var ret;db.execute('BEGIN').close();r=db.execute(sql,[key]);ret=r.isValidRow()?r.field(0):null;r.close();db.execute('COMMIT').close();return ret;},set:function(key,val){var rm_sql=C.sql.remove,sql=C.sql.set,r;var db=this.db;var ret;db.execute('BEGIN').close();db.execute(rm_sql,[key]).close();db.execute(sql,[key,val]).close();db.execute('COMMIT').close();return val;},remove:function(key){var get_sql=C.sql.get,sql=C.sql.remove,r,val=null,is_valid=false;var db=this.db;db.execute('BEGIN').close();db.execute(sql,[key]).close();db.execute('COMMIT').close();return true;},iterate:function(fn,scope){var key_sql=C.sql.keys;var r;var db=this.db;r=db.execute(key_sql);while(r.isValidRow()){fn.call(scope||this,r.field(0),r.field(1));r.next();}
|
||||
r.close();}}},globalstorage:{size:5*1024*1024,test:function(){if(window.globalStorage){var domain='127.0.0.1';if(this.o&&this.o.domain){domain=this.o.domain;}
|
||||
try{var dontcare=globalStorage[domain];return true;}catch(e){if(window.console&&window.console.warn){console.warn("globalStorage exists, but couldn't use it because your browser is running on domain:",domain);}
|
||||
return false;}}else{return false;}},methods:{key:function(key){return esc(this.name)+esc(key);},init:function(){this.store=globalStorage[this.o.domain];},get:function(key){key=this.key(key);return this.store.getItem(key);},set:function(key,val){key=this.key(key);this.store.setItem(key,val);return val;},remove:function(key){var val;key=this.key(key);val=this.store.getItem[key];this.store.removeItem(key);return val;}}},localstorage:{size:-1,test:function(){try{if(window.localStorage&&window.localStorage.setItem("test",null)==undefined){if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){var ffVersion=RegExp.$1;if(ffVersion>=9){return true;}
|
||||
if(window.location.protocol=='file:'){return false;}}else{return true;}}else{return false;}
|
||||
return window.localStorage?true:false;}catch(e){return false;}},methods:{key:function(key){return this.name+'>'+key;},init:function(){this.store=localStorage;},get:function(key){key=this.key(key);return this.store.getItem(key);},set:function(key,val){key=this.key(key);this.store.setItem(key,val);return val;},remove:function(key){var val;key=this.key(key);val=this.store.getItem(key);this.store.removeItem(key);return val;},iterate:function(fn,scope){var l=this.store,key,keys;for(var i=0;i<l.length;i++){key=l.key(i);keys=key.split('>');if((keys.length==2)&&(keys[0]==this.name)){fn.call(scope||this,keys[1],l.getItem(key));}}}}},ie:{prefix:'_persist_data-',size:64*1024,test:function(){return window.ActiveXObject?true:false;},make_userdata:function(id){var el=document.createElement('div');el.id=id;el.style.display='none';el.addBehavior('#default#userdata');document.body.appendChild(el);return el;},methods:{init:function(){var id=B.ie.prefix+esc(this.name);this.el=B.ie.make_userdata(id);if(this.o.defer){this.load();}},get:function(key){var val;key=esc(key);if(!this.o.defer){this.load();}
|
||||
val=this.el.getAttribute(key);return val;},set:function(key,val){key=esc(key);this.el.setAttribute(key,val);if(!this.o.defer){this.save();}
|
||||
return val;},remove:function(key){var val;key=esc(key);if(!this.o.defer){this.load();}
|
||||
val=this.el.getAttribute(key);this.el.removeAttribute(key);if(!this.o.defer){this.save();}
|
||||
return val;},load:function(){this.el.load(esc(this.name));},save:function(){this.el.save(esc(this.name));}}},cookie:{delim:':',size:4000,test:function(){return P.Cookie.enabled?true:false;},methods:{key:function(key){return this.name+B.cookie.delim+key;},get:function(key,fn){var val;key=this.key(key);val=ec.get(key);return val;},set:function(key,val,fn){key=this.key(key);ec.set(key,val,this.o);return val;},remove:function(key,val){var val;key=this.key(key);val=ec.remove(key);return val;}}},flash:{test:function(){try{if(!swfobject){return false;}}catch(e){return false;}
|
||||
var major=swfobject.getFlashPlayerVersion().major;return(major>=8)?true:false;},methods:{init:function(){if(!B.flash.el){var key,el,fel,cfg=C.flash;el=document.createElement('div');el.id=cfg.div_id;fel=document.createElement('div');fel.id=cfg.id;el.appendChild(fel);document.body.appendChild(el);B.flash.el=swfobject.createSWF({id:cfg.id,data:this.o.swf_path||cfg.path,width:cfg.size.w,height:cfg.size.h},cfg.params,cfg.id);}
|
||||
this.el=B.flash.el;},get:function(key){var val;key=esc(key);val=this.el.get(this.name,key);return val;},set:function(key,val){var old_val;key=esc(key);old_val=this.el.set(this.name,key,val);return old_val;},remove:function(key){var val;key=esc(key);val=this.el.remove(this.name,key);return val;}}}};init=function(){var i,l,b,key,fns=C.methods,keys=C.search_order;for(var idx=0,len=fns.length;idx<len;idx++){P.Store.prototype[fns[idx]]=empty;}
|
||||
P.type=null;P.size=-1;for(var idx2=0,len2=keys.length;!P.type&&idx2<len2;idx2++){b=B[keys[idx2]];if(b.test()){P.type=keys[idx2];P.size=b.size;for(key in b.methods){P.Store.prototype[key]=b.methods[key];}}}
|
||||
P._init=true;};P={VERSION:VERSION,type:null,size:0,add:function(o){B[o.id]=o;C.search_order=[o.id].concat(C.search_order);init();},remove:function(id){var ofs=index_of(C.search_order,id);if(ofs<0){return;}
|
||||
C.search_order.splice(ofs,1);delete B[id];init();},Cookie:ec,Store:function(name,o){if(!C.name_re.exec(name)){throw new Error("Invalid name");}
|
||||
if(!P.type){throw new Error("No suitable storage found");}
|
||||
o=o||{};this.name=name;o.domain=o.domain||location.hostname||'localhost';o.domain=o.domain.replace(/:\d+$/,'');o.domain=(o.domain=='localhost')?'':o.domain;this.o=o;o.expires=o.expires||365*2;o.path=o.path||'/';if(this.o.search_order){C.search_order=this.o.search_order;init();}
|
||||
this.init();}};init();return P;})();
|
||||
@@ -0,0 +1,4 @@
|
||||
Manifest-Version: 1.0
|
||||
Ant-Version: Apache Ant 1.9.7
|
||||
Created-By: 1.8.0_111-b14 (Oracle Corporation)
|
||||
|
||||
@@ -0,0 +1,587 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
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 ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
|
||||
version="2.1">
|
||||
|
||||
<description>JSTL 1.2 core library</description>
|
||||
<display-name>JSTL core</display-name>
|
||||
<tlib-version>1.2</tlib-version>
|
||||
<short-name>c</short-name>
|
||||
<uri>http://java.sun.com/jsp/jstl/core</uri>
|
||||
|
||||
<validator>
|
||||
<description>
|
||||
Provides core validation features for JSTL tags.
|
||||
</description>
|
||||
<validator-class>
|
||||
org.apache.taglibs.standard.tlv.JstlCoreTLV
|
||||
</validator-class>
|
||||
</validator>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Catches any Throwable that occurs in its body and optionally
|
||||
exposes it.
|
||||
</description>
|
||||
<name>catch</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
exception thrown from a nested action. The type of the
|
||||
scoped variable is the type of the exception thrown.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Simple conditional tag that establishes a context for
|
||||
mutually exclusive conditional operations, marked by
|
||||
<when> and <otherwise>
|
||||
</description>
|
||||
<name>choose</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Simple conditional tag, which evalutes its body if the
|
||||
supplied condition is true and optionally exposes a Boolean
|
||||
scripting variable representing the evaluation of this condition
|
||||
</description>
|
||||
<name>if</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.IfTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The test condition that determines whether or
|
||||
not the body content should be processed.
|
||||
</description>
|
||||
<name>test</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
resulting value of the test condition. The type
|
||||
of the scoped variable is Boolean.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Retrieves an absolute or relative URL and exposes its contents
|
||||
to either the page, a String in 'var', or a Reader in 'varReader'.
|
||||
</description>
|
||||
<name>import</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ImportTag</tag-class>
|
||||
<tei-class>org.apache.taglibs.standard.tei.ImportTEI</tei-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The URL of the resource to import.
|
||||
</description>
|
||||
<name>url</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
resource's content. The type of the scoped
|
||||
variable is String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
resource's content. The type of the scoped
|
||||
variable is Reader.
|
||||
</description>
|
||||
<name>varReader</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the context when accessing a relative
|
||||
URL resource that belongs to a foreign
|
||||
context.
|
||||
</description>
|
||||
<name>context</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Character encoding of the content at the input
|
||||
resource.
|
||||
</description>
|
||||
<name>charEncoding</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
The basic iteration tag, accepting many different
|
||||
collection types and supporting subsetting and other
|
||||
functionality
|
||||
</description>
|
||||
<name>forEach</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForEachTag</tag-class>
|
||||
<tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Collection of items to iterate over.
|
||||
</description>
|
||||
<name>items</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.Object</type>
|
||||
<deferred-value>
|
||||
<type>java.lang.Object</type>
|
||||
</deferred-value>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
If items specified:
|
||||
Iteration begins at the item located at the
|
||||
specified index. First item of the collection has
|
||||
index 0.
|
||||
If items not specified:
|
||||
Iteration begins with index set at the value
|
||||
specified.
|
||||
</description>
|
||||
<name>begin</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
If items specified:
|
||||
Iteration ends at the item located at the
|
||||
specified index (inclusive).
|
||||
If items not specified:
|
||||
Iteration ends when index reaches the value
|
||||
specified.
|
||||
</description>
|
||||
<name>end</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration will only process every step items of
|
||||
the collection, starting with the first one.
|
||||
</description>
|
||||
<name>step</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
current item of the iteration. This scoped
|
||||
variable has nested visibility. Its type depends
|
||||
on the object of the underlying collection.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
status of the iteration. Object exported is of type
|
||||
javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested
|
||||
visibility.
|
||||
</description>
|
||||
<name>varStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Iterates over tokens, separated by the supplied delimeters
|
||||
</description>
|
||||
<name>forTokens</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForTokensTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
String of tokens to iterate over.
|
||||
</description>
|
||||
<name>items</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<deferred-value>
|
||||
<type>java.lang.String</type>
|
||||
</deferred-value>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
The set of delimiters (the characters that
|
||||
separate the tokens in the string).
|
||||
</description>
|
||||
<name>delims</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration begins at the token located at the
|
||||
specified index. First token has index 0.
|
||||
</description>
|
||||
<name>begin</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration ends at the token located at the
|
||||
specified index (inclusive).
|
||||
</description>
|
||||
<name>end</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Iteration will only process every step tokens
|
||||
of the string, starting with the first one.
|
||||
</description>
|
||||
<name>step</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
current item of the iteration. This scoped
|
||||
variable has nested visibility.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
status of the iteration. Object exported is of
|
||||
type
|
||||
javax.servlet.jsp.jstl.core.LoopTag
|
||||
Status. This scoped variable has nested
|
||||
visibility.
|
||||
</description>
|
||||
<name>varStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Like <%= ... >, but for expressions.
|
||||
</description>
|
||||
<name>out</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.OutTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Expression to be evaluated.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Default value if the resulting value is null.
|
||||
</description>
|
||||
<name>default</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Determines whether characters <,>,&,'," in the
|
||||
resulting string should be converted to their
|
||||
corresponding character entity codes. Default value is
|
||||
true.
|
||||
</description>
|
||||
<name>escapeXml</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Subtag of <choose> that follows <when> tags
|
||||
and runs only if all of the prior conditions evaluated to
|
||||
'false'
|
||||
</description>
|
||||
<name>otherwise</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Adds a parameter to a containing 'import' tag's URL.
|
||||
</description>
|
||||
<name>param</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.ParamTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the query string parameter.
|
||||
</description>
|
||||
<name>name</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Value of the parameter.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Redirects to a new URL.
|
||||
</description>
|
||||
<name>redirect</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.RedirectTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The URL of the resource to redirect to.
|
||||
</description>
|
||||
<name>url</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the context when redirecting to a relative URL
|
||||
resource that belongs to a foreign context.
|
||||
</description>
|
||||
<name>context</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Removes a scoped variable (from a particular scope, if specified).
|
||||
</description>
|
||||
<name>remove</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.common.core.RemoveTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the scoped variable to be removed.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Sets the result of an expression evaluation in a 'scope'
|
||||
</description>
|
||||
<name>set</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.SetTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable to hold the value
|
||||
specified in the action. The type of the scoped variable is
|
||||
whatever type the value expression evaluates to.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Expression to be evaluated.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<deferred-value>
|
||||
<type>java.lang.Object</type>
|
||||
</deferred-value>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Target object whose property will be set. Must evaluate to
|
||||
a JavaBeans object with setter property property, or to a
|
||||
java.util.Map object.
|
||||
</description>
|
||||
<name>target</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the property to be set in the target object.
|
||||
</description>
|
||||
<name>property</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Creates a URL with optional query parameters.
|
||||
</description>
|
||||
<name>url</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable for the
|
||||
processed url. The type of the scoped variable is
|
||||
String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope for var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
URL to be processed.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the context when specifying a relative URL
|
||||
resource that belongs to a foreign context.
|
||||
</description>
|
||||
<name>context</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Subtag of <choose> that includes its body if its
|
||||
condition evalutes to 'true'
|
||||
</description>
|
||||
<name>when</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.core.WhenTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The test condition that determines whether or not the
|
||||
body content should be processed.
|
||||
</description>
|
||||
<name>test</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
</taglib>
|
||||
@@ -0,0 +1,743 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
|
||||
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
|
||||
<taglib>
|
||||
<tlib-version>1.1</tlib-version>
|
||||
<jsp-version>1.2</jsp-version>
|
||||
<short-name>display</short-name>
|
||||
<uri>http://displaytag.sf.net</uri>
|
||||
<display-name>Display *: Tag Library</display-name>
|
||||
<description>
|
||||
The display tag library is an open source suite of custom tags that provide high level web presentation patterns
|
||||
which will work in a MVC model, and provide a significant amount of functionality while still being simple and
|
||||
straight-forward to use. The primary tag in the library is the Table tag.
|
||||
</description>
|
||||
<tag>
|
||||
<name>table</name>
|
||||
<tag-class>org.displaytag.tags.TableTag</tag-class>
|
||||
<tei-class>org.displaytag.tags.TableTagExtraInfo</tei-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>table</display-name>
|
||||
<description>
|
||||
Displays a list in an html table, formatting each item in the list according to the Column tags nested inside of
|
||||
this tag. Use the list attribute to indicate the Collection of data, in some scope, that the tag should operate
|
||||
on. Supports the export of the list data to alternative formats such as CSV, Excel, and XML. The contents of the
|
||||
list can be sorted, and the list can be broken into individual pages for display. If you use this tag in Struts,
|
||||
or in some other framework where the page is included via a jsp:include, you should use the requestURI attribute
|
||||
to indicate where tag generated links should point.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>list</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Reference to the object used as source for the table. Can be an expression like requestScope.object.property .
|
||||
You must define either the name attribute or the list attribute. Using "Name" is suggested.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>name</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
reference to the object used as source for the table. Can be an expression like requestScope.object.property. In
|
||||
the EL version of the taglibrary this must be an EL expression which points to the source object.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>length</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>number of records to be shown</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>offset</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>index of the first record to be shown</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>pagesize</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>number of records in a page</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>decorator</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Fully qualified class name for a TableDecorator. Use a TableDecorator to provide custom operations against the
|
||||
whole list, such as computing totals. Must extend org.displaytag.decorator.TableDecorator.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>requestURI</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
When the present, links for sorting, exports, and paging are formed by adding any tag generated parameters to
|
||||
the value of requestURI attribute.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>requestURIcontext</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Enable/disable prepending of application context to generated links. Default is true, you can set it to false in
|
||||
order to generate cross-context links.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>excludedParams</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Whitespace separated list containg the name of parameters which should NOT be forwarded during paging or
|
||||
sorting. You can use excludedParams="*" to match (exclude) any parameter.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>varTotals</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Store a java.util.Map of the column totals in a pageContext variable by this name. The keys of the map are
|
||||
"column" and the column number (first column is "column1", etc); values are the corresponding total for the
|
||||
column; columns that are not marked as to total="true" will be omitted from the map. The variable will ONLY be
|
||||
available within the footer tag and after the end of the table, it is not available with the body of the table
|
||||
or columns.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>style</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>class</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>cellspacing</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>cellpadding</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute. Better using "padding" css attribute in style or class</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>frame</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>rules</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>summary</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>htmlId</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html "id" pass through attribute</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>export</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>enable/disable export. Valid values are true or false</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>id</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
See "uid". The id attribute can't be a runtime expression in jsp 1.0 compliant containers, while uid will allow
|
||||
it.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>uid</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Unique id used to identify this table. The object representing the current row is also added to the pageContext
|
||||
under this name and the current row number is added using the key uid_rowNum. Two tables in the same page can't
|
||||
have the same uid (paging and sorting will affect both). If no "htmlId" is specified the same value will be used
|
||||
for the html id of the generated table.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sort</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use 'page' if you want to sort only visible records, or 'list' if you want to sort the full list, or 'external'
|
||||
if the data is sorted outside displaytag.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>defaultsort</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>The index of the column that will be used by default for sorting (starting from 1)</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>defaultorder</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The default order for the sorted column. Valid values are "ascending" (default) or "descending"
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>partialList</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>enable/disable partialLists. Valid values are true or false</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>size</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Used only when partialList=true. Reference to the Integer object containing the size of the total dataset. Can
|
||||
be an expression like requestScope.object.property. In the EL version of the taglibrary this must be an EL
|
||||
expression which points to the source object.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>keepStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Preserve the current paging/sort status across session. The default is false (do not use sessions). Note that
|
||||
for this to work properly you need to assign to each table in your application a different id.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>clearStatus</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>Clears the current paging/sort status saved in session.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>form</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Uses post for paging/sorting links, by submitting the for with the given name. Note that this form will not be
|
||||
created by displaytag, and it must exist in page.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:table name="someList" export="true" id="row" requestURI="MyAction.do">
|
||||
<display:column sortable="true" title="ID"> <c:out value="${row.id}"/> </display:column>
|
||||
<display:column property="email" autolink="true"/>
|
||||
<display:column property="description" title="Comments"/>
|
||||
</display:table>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>column</name>
|
||||
<tag-class>org.displaytag.tags.ColumnTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>column</display-name>
|
||||
<description>
|
||||
Displays a property of a row object inside a table. MUST be nested inside of a Table tag. The value displayed will
|
||||
be the results of a decorator (if any); else the property named by the 'property' attribute; or if the 'property'
|
||||
attribute is null, then the results of evaluating the JSP body of the tag.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>property</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
name of the property in the bean specified in the parent table tag (via the "name" attribute) mapped to this
|
||||
column
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sortProperty</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
name of the property in the bean specified in the parent table tag (via the "name" attribute) which will be used
|
||||
to sort values in the column. This can be used when the column body is filled or a decorator is used and column
|
||||
should sort on undecorated values.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>title</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>title of the column (text for the th cell)</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>comparator</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
The classname of comparator to use when sorting this column, or the comparator itself. Defaults to the
|
||||
DefaultComparator.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>titleKey</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>
|
||||
Resource key used to lookup the title value. Only works if "title" is not defined. Works together with a
|
||||
configured I18nResourceProvider, specified via the displaytag.properties file. By default, if JSTL is available,
|
||||
the JSTL provider is used, which makes this attribute work the same as fmt:message's key property.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>nulls</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
By default, null values don't appear in the list. By setting 'nulls' to 'true', then null values will appear as
|
||||
"null" in the list (mostly useful for debugging). Defaults to 'false'.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>total</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
If true, will total the contents of this column. This value is available via the Map named in varTotals for the
|
||||
table. Column values need to Numbers.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sortable</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>Set to 'true' to make the column sortable. Defaults to 'false'.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>defaultorder</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The default sort order for this column. Valid values are "ascending" (default) or "descending"
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>autolink</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Automatically hyperlink URLs and email addresses that appear in the column. Defaults to 'false'.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>format</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
A MessageFormat patter that will be used to decorate objects in the column. Can be used as a "shortcut" for
|
||||
simple column decorations. @since 1.1
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>escapeXml</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>boolean</type>
|
||||
<description>
|
||||
Set it to true to escape special characters in html and xml output. Defaults to 'false'. @since 1.1
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>media</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use this attribute to keep a column from being output during an export. The column will only render for the
|
||||
named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
|
||||
space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
|
||||
in the example webapp for more details.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>href</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
<![CDATA[
|
||||
The base URL used to construct the dynamic link. If this attribute is provided, then the data that is shown for
|
||||
this column is wrapped inside a <a href=""> tag with the url provided through this attribute. Typically you
|
||||
would use this attribute along with one of the struts-like param attributes (param*) to create a dynamic link so
|
||||
that each row creates a different URL based on the data that is being viewed. An empty href value will generate
|
||||
a link to the current page, preserving parameters just like for paging links.]]>
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>url</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The base URL used to construct the dynamic link. This attribute has the same functionality as the href
|
||||
attribute, but it pre-pends the contextPath.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramId</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The name of the request parameter that will be dynamically added to the generated href URL. The corresponding
|
||||
value is defined by the paramProperty and (optional) paramName attributes, optionally scoped by the paramScope
|
||||
attribute.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramName</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The name of a JSP bean that is a String containing the value for the request parameter named by paramId (if
|
||||
paramProperty is not specified), or a JSP bean whose property getter is called to return a String (if
|
||||
paramProperty is specified). The JSP bean is constrained to the bean scope specified by the paramScope property,
|
||||
if it is specified. If paramName is omitted, then it is assumed that the current object being iterated on is the
|
||||
target bean.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramProperty</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The name of a property of the current object being iterated on, whose return value will be used as the value of
|
||||
the parameter (named by the paramId attribute) that will be dynamically added to this href URL. If paramName is
|
||||
also specified the property will not be fetched from the object being iterated on, but from the bean specified
|
||||
by paramName. The support of paramProperty in conjunction with paramName will be probably removed in future: use
|
||||
paramProperty only if you need a property in the iterated object, elsewhere use only paramName (you can select a
|
||||
property using an expression name.property).
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>paramScope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
@deprecated - use Expressions in paramName. The scope within which to search for the bean specified by the
|
||||
paramName attribute. If not specified, all scopes are searched. If paramName is not provided, then the current
|
||||
object being iterated on is assumed to be the target bean.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>maxLength</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>
|
||||
If this attribute is provided, then the column's displayed is limited to this number of characters. An elipse
|
||||
(...) is appended to the end if this column is linked, and the user can mouseover the elipse to get the full
|
||||
text. Be careful on using this attribute for String which can contain html tags or entities, or together with
|
||||
the autolink attribute turned on: displaytag will do its best trying to avoid leaving unclosed tags or broken
|
||||
entities in the output, but a complex or bad input could lead to unattended results.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>maxWords</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>
|
||||
If this attribute is provided, then the column's displayed is limited to this number of words. An elipse (...)
|
||||
is appended to the end if this column is linked, and the user can mouseover the elipse to get the full text. Be
|
||||
careful on using this attribute for String which can contain html tags or entities, or together with the
|
||||
autolink attribute turned on: displaytag will do its best trying to avoid leaving unclosed tags or broken
|
||||
entities in the output, but a complex or bad input could lead to unattended results.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>class</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
html pass through attribute; use this instead of directly coding presentational atttributes.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>headerClass</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>"class" html attribute added only for header cells.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>style</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>group</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>int</type>
|
||||
<description>
|
||||
The grouping level (starting at 1 and incrementing) of this column (indicates if successive contain the same
|
||||
values, then they should not be displayed). The level indicates that if a lower level no longer matches, then
|
||||
the matching for this higher level should start over as well. If this attribute is not included, then no
|
||||
grouping is performed.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>decorator</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Whitespace separated list of column decorators to apply to the current column. A table decorator name can be the
|
||||
name of an object in page, request, session or application scope or a fully qualified class name of a class
|
||||
implementing the org.displaytag.decorator.DisplaytagColumnDecorator interface. If a decorator is specified for
|
||||
the entire table, then this decorator will decorate that decorator.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>sortName</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Used with sort="external", the name that should be given to the server to sort this column. IE if
|
||||
sortName="buzz", then the href for this column to sort will have a parameter d-(encodedId)-s=buzz. If sortName
|
||||
is ommitted the value for the sort param will default to the column number.
|
||||
</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>headerScope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>"scope" html attribute added only for header cells.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>"scope" html attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.Object</type>
|
||||
<description>
|
||||
Static value to be used for the column. It has the same meaning of setting a value in the tag body, but values
|
||||
set using this attribute will not be coerced to Strings. You may need to use the value attribute instead of a
|
||||
scriptlet in the tag body if you need to calculate totals on numeric values.
|
||||
</description>
|
||||
</attribute>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>setProperty</name>
|
||||
<tag-class>org.displaytag.tags.SetPropertyTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>setProperty</display-name>
|
||||
<description>
|
||||
Sets the indicated property on the enclosing Table tag. MUST be nested within a Table tag. As an alternative, you
|
||||
may create a property file that holds sitewide defaults; see the configuration documentation or the
|
||||
DisplayPropertiesLoaderServlet javadoc for information.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>name</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>The name of the property to set on the enclosing Table tag.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
The value to which the property is set. You can also set the property value in the tag body.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:setProperty name="paging.banner.placement" value="bottom" />
|
||||
or
|
||||
<display:setProperty name="paging.banner.placement">bottom</display:setProperty>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>footer</name>
|
||||
<tag-class>org.displaytag.tags.TableFooterTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>footer</display-name>
|
||||
<description>
|
||||
Tag wich should be nested into a table tag to provide a custom table footer. The body of the tag is into the tfoot
|
||||
section of the table. The totals variable, if designated, will be in pageContext in this tag.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>media</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use this attribute to keep a footer from being output during an export. The caption will only render for the
|
||||
named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
|
||||
space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
|
||||
in the example webapp for more details.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:table name="someList" varTotals="totals">
|
||||
<display:column property="itemName"/>
|
||||
<display:column property="price" total="true"/>
|
||||
<display:footer>
|
||||
<tr>
|
||||
<td>Total Bill:</td>
|
||||
<td><c:out value="${totals.column2}" /></td>
|
||||
<tr>
|
||||
</display:footer>
|
||||
</display:table>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>caption</name>
|
||||
<tag-class>org.displaytag.tags.CaptionTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<display-name>caption</display-name>
|
||||
<description>
|
||||
Simple tag which mimics the html caption tag. Use it inside a table tag to display a caption.
|
||||
</description>
|
||||
<attribute>
|
||||
<name>style</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>class</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>id</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>title</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>lang</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>dir</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>html pass through attribute.</description>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>media</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<type>java.lang.String</type>
|
||||
<description>
|
||||
Use this attribute to keep a caption from being output during an export. The caption will only render for the
|
||||
named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
|
||||
space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
|
||||
in the example webapp for more details.
|
||||
</description>
|
||||
</attribute>
|
||||
<example>
|
||||
<![CDATA[
|
||||
<display:table name="someList">
|
||||
<display:column property="mail"/>
|
||||
<display:column property="total"/>
|
||||
<display:caption>This is the table caption</display:caption>
|
||||
</display:table>
|
||||
]]>
|
||||
</example>
|
||||
</tag>
|
||||
</taglib>
|
||||
@@ -0,0 +1,686 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
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 ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
|
||||
version="2.0">
|
||||
|
||||
<description>JSTL 1.1 i18n-capable formatting library</description>
|
||||
<display-name>JSTL fmt</display-name>
|
||||
<tlib-version>1.1</tlib-version>
|
||||
<short-name>fmt</short-name>
|
||||
<uri>http://java.sun.com/jsp/jstl/fmt</uri>
|
||||
|
||||
<validator>
|
||||
<description>
|
||||
Provides core validation features for JSTL tags.
|
||||
</description>
|
||||
<validator-class>
|
||||
org.apache.taglibs.standard.tlv.JstlFmtTLV
|
||||
</validator-class>
|
||||
</validator>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Sets the request character encoding
|
||||
</description>
|
||||
<name>requestEncoding</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of character encoding to be applied when
|
||||
decoding request parameters.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Stores the given locale in the locale configuration variable
|
||||
</description>
|
||||
<name>setLocale</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
A String value is interpreted as the
|
||||
printable representation of a locale, which
|
||||
must contain a two-letter (lower-case)
|
||||
language code (as defined by ISO-639),
|
||||
and may contain a two-letter (upper-case)
|
||||
country code (as defined by ISO-3166).
|
||||
Language and country codes must be
|
||||
separated by hyphen (-) or underscore
|
||||
(_).
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Vendor- or browser-specific variant.
|
||||
See the java.util.Locale javadocs for
|
||||
more information on variants.
|
||||
</description>
|
||||
<name>variant</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of the locale configuration variable.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Specifies the time zone for any time formatting or parsing actions
|
||||
nested in its body
|
||||
</description>
|
||||
<name>timeZone</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The time zone. A String value is interpreted as
|
||||
a time zone ID. This may be one of the time zone
|
||||
IDs supported by the Java platform (such as
|
||||
"America/Los_Angeles") or a custom time zone
|
||||
ID (such as "GMT-8"). See
|
||||
java.util.TimeZone for more information on
|
||||
supported time zone formats.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Stores the given time zone in the time zone configuration variable
|
||||
</description>
|
||||
<name>setTimeZone</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
The time zone. A String value is interpreted as
|
||||
a time zone ID. This may be one of the time zone
|
||||
IDs supported by the Java platform (such as
|
||||
"America/Los_Angeles") or a custom time zone
|
||||
ID (such as "GMT-8"). See java.util.TimeZone for
|
||||
more information on supported time zone
|
||||
formats.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which
|
||||
stores the time zone of type
|
||||
java.util.TimeZone.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var or the time zone configuration
|
||||
variable.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Loads a resource bundle to be used by its tag body
|
||||
</description>
|
||||
<name>bundle</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.BundleTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Resource bundle base name. This is the bundle's
|
||||
fully-qualified resource name, which has the same
|
||||
form as a fully-qualified class name, that is, it uses
|
||||
"." as the package component separator and does not
|
||||
have any file type (such as ".class" or ".properties")
|
||||
suffix.
|
||||
</description>
|
||||
<name>basename</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Prefix to be prepended to the value of the message
|
||||
key of any nested <fmt:message> action.
|
||||
</description>
|
||||
<name>prefix</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Loads a resource bundle and stores it in the named scoped variable or
|
||||
the bundle configuration variable
|
||||
</description>
|
||||
<name>setBundle</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Resource bundle base name. This is the bundle's
|
||||
fully-qualified resource name, which has the same
|
||||
form as a fully-qualified class name, that is, it uses
|
||||
"." as the package component separator and does not
|
||||
have any file type (such as ".class" or ".properties")
|
||||
suffix.
|
||||
</description>
|
||||
<name>basename</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which stores
|
||||
the i18n localization context of type
|
||||
javax.servlet.jsp.jstl.fmt.LocalizationC
|
||||
ontext.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var or the localization context
|
||||
configuration variable.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Maps key to localized message and performs parametric replacement
|
||||
</description>
|
||||
<name>message</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.MessageTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Message key to be looked up.
|
||||
</description>
|
||||
<name>key</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Localization context in whose resource
|
||||
bundle the message key is looked up.
|
||||
</description>
|
||||
<name>bundle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable
|
||||
which stores the localized message.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Supplies an argument for parametric replacement to a containing
|
||||
<message> tag
|
||||
</description>
|
||||
<name>param</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParamTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Argument used for parametric replacement.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Formats a numeric value as a number, currency, or percentage
|
||||
</description>
|
||||
<name>formatNumber</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Numeric value to be formatted.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the value is to be
|
||||
formatted as number, currency, or
|
||||
percentage.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting pattern.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
ISO 4217 currency code. Applied only
|
||||
when formatting currencies (i.e. if type is
|
||||
equal to "currency"); ignored otherwise.
|
||||
</description>
|
||||
<name>currencyCode</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Currency symbol. Applied only when
|
||||
formatting currencies (i.e. if type is equal
|
||||
to "currency"); ignored otherwise.
|
||||
</description>
|
||||
<name>currencySymbol</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the formatted output
|
||||
will contain any grouping separators.
|
||||
</description>
|
||||
<name>groupingUsed</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Maximum number of digits in the integer
|
||||
portion of the formatted output.
|
||||
</description>
|
||||
<name>maxIntegerDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Minimum number of digits in the integer
|
||||
portion of the formatted output.
|
||||
</description>
|
||||
<name>minIntegerDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Maximum number of digits in the
|
||||
fractional portion of the formatted output.
|
||||
</description>
|
||||
<name>maxFractionDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Minimum number of digits in the
|
||||
fractional portion of the formatted output.
|
||||
</description>
|
||||
<name>minFractionDigits</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable
|
||||
which stores the formatted result as a
|
||||
String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Parses the string representation of a number, currency, or percentage
|
||||
</description>
|
||||
<name>parseNumber</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
String to be parsed.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the string in the value
|
||||
attribute should be parsed as a number,
|
||||
currency, or percentage.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting pattern that determines
|
||||
how the string in the value attribute is to be
|
||||
parsed.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Locale whose default formatting pattern (for
|
||||
numbers, currencies, or percentages,
|
||||
respectively) is to be used during the parse
|
||||
operation, or to which the pattern specified
|
||||
via the pattern attribute (if present) is
|
||||
applied.
|
||||
</description>
|
||||
<name>parseLocale</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether just the integer portion of
|
||||
the given value should be parsed.
|
||||
</description>
|
||||
<name>integerOnly</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which
|
||||
stores the parsed result (of type
|
||||
java.lang.Number).
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Formats a date and/or time using the supplied styles and pattern
|
||||
</description>
|
||||
<name>formatDate</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag</tag-class>
|
||||
<body-content>empty</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Date and/or time to be formatted.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>true</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the time, the date, or both
|
||||
the time and date components of the given
|
||||
date are to be formatted.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting style for dates. Follows
|
||||
the semantics defined in class
|
||||
java.text.DateFormat. Applied only
|
||||
when formatting a date or both a date and
|
||||
time (i.e. if type is missing or is equal to
|
||||
"date" or "both"); ignored otherwise.
|
||||
</description>
|
||||
<name>dateStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting style for times. Follows
|
||||
the semantics defined in class
|
||||
java.text.DateFormat. Applied only
|
||||
when formatting a time or both a date and
|
||||
time (i.e. if type is equal to "time" or "both");
|
||||
ignored otherwise.
|
||||
</description>
|
||||
<name>timeStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting style for dates and times.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Time zone in which to represent the formatted
|
||||
time.
|
||||
</description>
|
||||
<name>timeZone</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable which
|
||||
stores the formatted result as a String.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
<tag>
|
||||
<description>
|
||||
Parses the string representation of a date and/or time
|
||||
</description>
|
||||
<name>parseDate</name>
|
||||
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag</tag-class>
|
||||
<body-content>JSP</body-content>
|
||||
<attribute>
|
||||
<description>
|
||||
Date string to be parsed.
|
||||
</description>
|
||||
<name>value</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Specifies whether the date string in the
|
||||
value attribute is supposed to contain a
|
||||
time, a date, or both.
|
||||
</description>
|
||||
<name>type</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting style for days
|
||||
which determines how the date
|
||||
component of the date string is to be
|
||||
parsed. Applied only when formatting a
|
||||
date or both a date and time (i.e. if type
|
||||
is missing or is equal to "date" or "both");
|
||||
ignored otherwise.
|
||||
</description>
|
||||
<name>dateStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Predefined formatting styles for times
|
||||
which determines how the time
|
||||
component in the date string is to be
|
||||
parsed. Applied only when formatting a
|
||||
time or both a date and time (i.e. if type
|
||||
is equal to "time" or "both"); ignored
|
||||
otherwise.
|
||||
</description>
|
||||
<name>timeStyle</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Custom formatting pattern which
|
||||
determines how the date string is to be
|
||||
parsed.
|
||||
</description>
|
||||
<name>pattern</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Time zone in which to interpret any time
|
||||
information in the date string.
|
||||
</description>
|
||||
<name>timeZone</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Locale whose predefined formatting styles
|
||||
for dates and times are to be used during
|
||||
the parse operation, or to which the
|
||||
pattern specified via the pattern
|
||||
attribute (if present) is applied.
|
||||
</description>
|
||||
<name>parseLocale</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Name of the exported scoped variable in
|
||||
which the parsing result (of type
|
||||
java.util.Date) is stored.
|
||||
</description>
|
||||
<name>var</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description>
|
||||
Scope of var.
|
||||
</description>
|
||||
<name>scope</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>false</rtexprvalue>
|
||||
</attribute>
|
||||
</tag>
|
||||
|
||||
</taglib>
|
||||
@@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
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 ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
|
||||
version="2.0">
|
||||
|
||||
<description>JSTL 1.1 functions library</description>
|
||||
<display-name>JSTL functions</display-name>
|
||||
<tlib-version>1.1</tlib-version>
|
||||
<short-name>fn</short-name>
|
||||
<uri>http://java.sun.com/jsp/jstl/functions</uri>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string contains the specified substring.
|
||||
</description>
|
||||
<name>contains</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean contains(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:contains(name, searchString)}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string contains the specified substring in a case insensitive way.
|
||||
</description>
|
||||
<name>containsIgnoreCase</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean containsIgnoreCase(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:containsIgnoreCase(name, searchString)}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string ends with the specified suffix.
|
||||
</description>
|
||||
<name>endsWith</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean endsWith(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:endsWith(filename, ".txt")}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Escapes characters that could be interpreted as XML markup.
|
||||
</description>
|
||||
<name>escapeXml</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String escapeXml(java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:escapeXml(param:info)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns the index withing a string of the first occurrence of a specified substring.
|
||||
</description>
|
||||
<name>indexOf</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>int indexOf(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:indexOf(name, "-")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Joins all elements of an array into a string.
|
||||
</description>
|
||||
<name>join</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String join(java.lang.String[], java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:join(array, ";")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns the number of items in a collection, or the number of characters in a string.
|
||||
</description>
|
||||
<name>length</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>int length(java.lang.Object)</function-signature>
|
||||
<example>
|
||||
You have ${fn:length(shoppingCart.products)} in your shopping cart.
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a string resulting from replacing in an input string all occurrences
|
||||
of a "before" string into an "after" substring.
|
||||
</description>
|
||||
<name>replace</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:replace(text, "-", "•")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Splits a string into an array of substrings.
|
||||
</description>
|
||||
<name>split</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String[] split(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
${fn:split(customerNames, ";")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Tests if an input string starts with the specified prefix.
|
||||
</description>
|
||||
<name>startsWith</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>boolean startsWith(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
<c:if test="${fn:startsWith(product.id, "100-")}">
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a subset of a string.
|
||||
</description>
|
||||
<name>substring</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String substring(java.lang.String, int, int)</function-signature>
|
||||
<example>
|
||||
P.O. Box: ${fn:substring(zip, 6, -1)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a subset of a string following a specific substring.
|
||||
</description>
|
||||
<name>substringAfter</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String substringAfter(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
P.O. Box: ${fn:substringAfter(zip, "-")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Returns a subset of a string before a specific substring.
|
||||
</description>
|
||||
<name>substringBefore</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String substringBefore(java.lang.String, java.lang.String)</function-signature>
|
||||
<example>
|
||||
Zip (without P.O. Box): ${fn:substringBefore(zip, "-")}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Converts all of the characters of a string to lower case.
|
||||
</description>
|
||||
<name>toLowerCase</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String toLowerCase(java.lang.String)</function-signature>
|
||||
<example>
|
||||
Product name: ${fn.toLowerCase(product.name)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Converts all of the characters of a string to upper case.
|
||||
</description>
|
||||
<name>toUpperCase</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String toUpperCase(java.lang.String)</function-signature>
|
||||
<example>
|
||||
Product name: ${fn.UpperCase(product.name)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>
|
||||
Removes white spaces from both ends of a string.
|
||||
</description>
|
||||
<name>trim</name>
|
||||
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
|
||||
<function-signature>java.lang.String trim(java.lang.String)</function-signature>
|
||||
<example>
|
||||
Name: ${fn.trim(name)}
|
||||
</example>
|
||||
</function>
|
||||
|
||||
</taglib>
|
||||
@@ -0,0 +1,83 @@
|
||||
<%@page contentType="text/html;charset=ISO-8859-1" language="java"%>
|
||||
<%@include file="/WEB-INF/jsp/common/taglibs.jsp"%>
|
||||
<%
|
||||
String ua = request.getHeader("User-Agent").toLowerCase();
|
||||
boolean mobile = ua.matches("(?i).*(android.+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || ua.substring(0, 4).matches("(?i)1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-");
|
||||
pageContext.setAttribute("mobile", mobile);
|
||||
%>
|
||||
|
||||
<s:layout-definition>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mirth Connect Web Administrator</title>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="${contextPath}/images/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="${contextPath}/css/bootstrap.css" />
|
||||
<link rel="stylesheet" type="text/css" href="${contextPath}/css/statistics.css" />
|
||||
<s:layout-component name="head" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav id="header" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
||||
<div class="navbar-inner">
|
||||
<div id="statisticsNavbarContainer" class="container" style="width: 98%;">
|
||||
<a class="navbar-brand"> <img alt="Mirth Connect" src="${contextPath}/css/mirthconnectlogowide.png" style="height: 30px"></a>
|
||||
<ul id="navbarList" class="nav navbar-nav">
|
||||
<li id="li_dashboardstatistics"><s:link beanclass="com.mirth.connect.webadmin.action.DashboardStatisticsActionBean">Dashboard Statistics</s:link></li>
|
||||
</ul>
|
||||
|
||||
<div id="userButtonContainer" class="nav navbar-nav btn-group navbar-right" style="margin-top: 8px;">
|
||||
<a id="userButton" class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"> <span class="glyphicon glyphicon-user"></span> ${user.username} <span class="caret"></span></a>
|
||||
|
||||
<ul class="dropdown-menu">
|
||||
<c:if test="${not mobile}">
|
||||
<li><a href="#" onClick="launchAdministrator()"> <span class="glyphicon glyphicon-upload"></span> Launch Administrator</a></li>
|
||||
<li class="divider"></li>
|
||||
</c:if>
|
||||
|
||||
<li><a href="Logout.action"> <span class="glyphicon glyphicon-share"></span> Logout</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div id="body">
|
||||
<s:layout-component name="body" />
|
||||
</div>
|
||||
|
||||
<div id="footer"></div>
|
||||
|
||||
<!-- Scripts placed at the end of the document so the pages load faster -->
|
||||
<script src="${contextPath}/js/jquery-1.8.0.js"></script>
|
||||
<script src="${contextPath}/js/bootstrap.min.js"></script>
|
||||
|
||||
<!-- Script to highlight navbar links as active upon click -->
|
||||
<script type="text/javascript">
|
||||
function getCurrentPageName() {
|
||||
var pageURL = document.location.href;
|
||||
var pageName = pageURL.substring(pageURL.lastIndexOf('/') + 1);
|
||||
|
||||
return pageName.toLowerCase();
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var currPage = getCurrentPageName();
|
||||
|
||||
switch (currPage) {
|
||||
case 'dashboardstatistics.action':
|
||||
$('#li_dashboardstatistics').addClass('active');
|
||||
break;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function launchAdministrator(){
|
||||
window.location.href = 'http://' + window.location.hostname + ':${actionBean.context.httpPort}${actionBean.context.contextPath}/webstart.jnlp?time=' + new Date().getTime();
|
||||
}
|
||||
</script>
|
||||
|
||||
<s:layout-component name="scripts" />
|
||||
</body>
|
||||
</html>
|
||||
</s:layout-definition>
|
||||
@@ -0,0 +1,7 @@
|
||||
<%@taglib prefix="s" uri="http://stripes.sourceforge.net/stripes.tld"%>
|
||||
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@taglib prefix="d" uri="http://displaytag.sf.net"%>
|
||||
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
|
||||
<c:set var="contextPath" value="${pageContext.request.contextPath}" />
|
||||
@@ -0,0 +1,207 @@
|
||||
<%@include file="/WEB-INF/jsp/common/taglibs.jsp"%>
|
||||
|
||||
<s:layout-render name="/WEB-INF/jsp/common/layoutmain.jsp" title="Dashboard Statistics">
|
||||
<s:layout-component name="head">
|
||||
<link href="${contextPath}/css/jquery.treeTable.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- Hack to fix CSS spacing conflict between tablesorter and bootstrap -->
|
||||
<style type="text/css">
|
||||
.header div {
|
||||
float: left;
|
||||
}
|
||||
</style>
|
||||
</s:layout-component>
|
||||
|
||||
<s:layout-component name="body">
|
||||
<div id="errorAlert" class="alert alert-danger hide fade in" data-alert="alert" style= "margin-left:auto; margin-right:auto;">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<p><strong>Error connecting to Server</strong>. Refresh the page or <a href="Index.action">Login</a></p>
|
||||
</div>
|
||||
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="active"><a id="current" href="#" data-toggle="tab">Current Statistics</a></li>
|
||||
<li><a id="lifetime" href="#" data-toggle="tab">Lifetime Statistics</a></li>
|
||||
</ul>
|
||||
|
||||
<table class="table table-striped table-bordered table-condensed tablesorter" style="width: 98%;" id="treeTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Status</th>
|
||||
<th>Received</th>
|
||||
<th>Filtered</th>
|
||||
<th>Queued</th>
|
||||
<th>Sent</th>
|
||||
<th>Errored</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${actionBean.dashboardStatusList}" var="dashboardStatus" varStatus="status">
|
||||
<c:set var="deployedStatus" value="${fn:toLowerCase(dashboardStatus.state)}" />
|
||||
|
||||
<tr id="node-${status.index}">
|
||||
<td class="parent">${dashboardStatus.name}</td>
|
||||
<td style="text-transform: capitalize">${deployedStatus}</td>
|
||||
<td>${dashboardStatus.statistics[RECEIVED]}</td>
|
||||
<td>${dashboardStatus.statistics[FILTERED]}</td>
|
||||
<td>${dashboardStatus.queued}</td>
|
||||
<td>${dashboardStatus.statistics[SENT]}</td>
|
||||
<td class="errors" <c:if test="${dashboardStatus.statistics[ERROR] != 0}"> style="background-color:LightPink;" </c:if>> ${dashboardStatus.statistics[ERROR]}</td>
|
||||
</tr>
|
||||
|
||||
<c:forEach items="${dashboardStatus.childStatuses}" var="childStatus">
|
||||
<c:set var="childName" value="${childStatus.name}" />
|
||||
<c:set var="trimName" value="${fn:replace(childName,' ','-')}" />
|
||||
|
||||
<tr id="${trimName}-${status.index}" class="child-of-node-${status.index} expand-child">
|
||||
<c:set var="deployedStatus" value="${fn:toLowerCase(childStatus.state)}" />
|
||||
|
||||
<td class="child">${childStatus.name}</td>
|
||||
<td style="text-transform: capitalize">${deployedStatus}</td>
|
||||
<td>${childStatus.statistics[RECEIVED]}</td>
|
||||
<td>${childStatus.statistics[FILTERED]}</td>
|
||||
<td>${childStatus.queued}</td>
|
||||
<td>${childStatus.statistics[SENT]}</td>
|
||||
<td class="errors" <c:if test="${childStatus.statistics[ERROR] != 0}"> style="background-color:LightPink;" </c:if>> ${childStatus.statistics[ERROR]}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</s:layout-component>
|
||||
|
||||
<s:layout-component name="scripts">
|
||||
<script type="text/javascript" src="${contextPath}/js/jquery.treeTable.js"></script>
|
||||
<script type="text/javascript" src="${contextPath}/js/persist-min.js"></script>
|
||||
<script type="text/javascript" src="${contextPath}/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="${contextPath}/js/jquery.tablesorter.widgets.min.js"></script>
|
||||
|
||||
<!-- Script to update stats dynamically every x seconds via ajax -->
|
||||
<script type="text/javascript">
|
||||
var timeout = 5000;
|
||||
var showLifetimeStats = false;
|
||||
var updateTimeout;
|
||||
|
||||
function updateStats() {
|
||||
$.get('DashboardStatistics.action?getStats&showLifetimeStats=' + showLifetimeStats, function(nodes) {
|
||||
var showAlert = ${actionBean.showAlert};
|
||||
|
||||
// Refresh
|
||||
if (nodes == "0") {
|
||||
document.location.reload(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (showAlert) {
|
||||
$("#errorAlert").removeClass('hide');
|
||||
} else {
|
||||
$("#errorAlert").addClass('hide');
|
||||
}
|
||||
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
var node = nodes[i];
|
||||
var row = $('#' + node.id);
|
||||
|
||||
checkAndUpdateError(node);
|
||||
|
||||
var status = node.status;
|
||||
row.children().eq(1).text(status.charAt(0).toUpperCase() + status.slice(1).toLowerCase());
|
||||
row.children().eq(2).text(node.received);
|
||||
row.children().eq(3).text(node.filtered);
|
||||
row.children().eq(4).text(node.queued);
|
||||
row.children().eq(5).text(node.sent);
|
||||
row.children().eq(6).text(node.errored);
|
||||
}
|
||||
|
||||
$('.result').html(nodes);
|
||||
}, "json");
|
||||
|
||||
updateTimeout = setTimeout(updateStats, timeout);
|
||||
}
|
||||
|
||||
function checkAndUpdateError(node) {
|
||||
var row = $('#' + node.id);
|
||||
|
||||
if (node.errored > 0) {
|
||||
row.children().eq(6).css("background-color", "LightPink");
|
||||
} else {
|
||||
// Even rows paint cell background transparent
|
||||
if (row.index() % 2 == 0) {
|
||||
row.children().eq(6).css("background-color", "#F9F9F9");
|
||||
}
|
||||
|
||||
// Odd rows paint cell background grey
|
||||
else {
|
||||
row.children().eq(6).css("background-color", "transparent");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
updateTimeout = setTimeout(updateStats, timeout);
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Enable Bootstrap Javascript Tabs -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#myTab a').click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
if ($(this).attr("id") == "current") {
|
||||
showLifetimeStats = false;
|
||||
clearTimeout(updateTimeout);
|
||||
} else {
|
||||
showLifetimeStats = true;
|
||||
clearTimeout(updateTimeout);
|
||||
}
|
||||
updateStats();
|
||||
$(this).tab('show');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- TreeTable plugin -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#treeTable").treeTable({
|
||||
initialState : "collapsed",
|
||||
clickableNodeNames : true,
|
||||
persist : true
|
||||
// Persist node expanded/collapsed state
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- TableSorter plugin -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#treeTable").tablesorter({
|
||||
// Persist sorting state
|
||||
widgets : [ "saveSort" ],
|
||||
|
||||
// Override tablesorter CSS to use bootstrap styling
|
||||
cssHeader : "header",
|
||||
cssAsc : "headerSortDown",
|
||||
cssDesc : "headerSortUp"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Script to highlight errored cells pink whenever value > 0 -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
if (Number($(this).text()) > 0) {
|
||||
$(this).css("background-color", "LightPink");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Hack to fix CSS extra arrow conflict between tablesorter and bootstrap -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#body table thead tr").removeAttr("class");
|
||||
});
|
||||
</script>
|
||||
</s:layout-component>
|
||||
</s:layout-render>
|
||||
@@ -0,0 +1,247 @@
|
||||
<%@include file="/WEB-INF/jsp/common/taglibs.jsp"%>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge">
|
||||
|
||||
<title>Mirth Connect Administrator</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
/* Break out of frame if inside a frame. */
|
||||
if (window != window.top) {
|
||||
window.top.location = window.location;
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="js/jquery-1.8.0.js"></script>
|
||||
<script type="text/javascript" src="js/bootstrap.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body id="body" style="display: none;" class="subpage" <c:if test="${actionBean.secureHttps == true}">onload="document.loginform.username.focus();"</c:if>>
|
||||
<div id="centerWrapper" class="container">
|
||||
<div class="row">
|
||||
<div id="mirthLogoWrapper">
|
||||
<img id="mirthLogo" src="images/mirthconnectlogowide.png" />
|
||||
</div>
|
||||
|
||||
<div id="mcadministrator" class="col-xs-6 col-xs-6-custom">
|
||||
<h1 style="text-align: center;">Mirth Connect Administrator</h1>
|
||||
|
||||
<div id="overviewwebstart">
|
||||
<div class="help-block">
|
||||
<strong>Overview of Web Start:</strong><br /> Java Web Start is a framework developed by Sun Microsystems that enables launching Java applications directly from a browser. Unlike Java applets, Web Start applications do not run inside the browser.
|
||||
</div>
|
||||
<div class="help-block">
|
||||
<br />Click the big green button below to launch the Mirth Connect Administrator using Java Web Start.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="text-align: center;">
|
||||
<a class="btn btn-md btn-themebutton" href="javascript:launchAdministrator()">Launch Mirth Connect Administrator</a>
|
||||
<div id="optionsDropdownContainer" class="dropdown">
|
||||
<button id="optionsButton" class="btn btn-default btn-lg dropdown-toggle" data-toggle="dropdown" role="button">
|
||||
<span class="glyphicon glyphicon-cog"></span>
|
||||
</button>
|
||||
<ul id="optionsDropdownMenu" class="dropdown-menu" role="menu" aria-labelledby="optionsButton">
|
||||
<li role="presentation"><span class="text-center">Web Start Settings<span></li>
|
||||
<li class="divider"></li>
|
||||
<li role="presentation">
|
||||
<span id="maxHeapSizeLabel" class="pull-left">Max Heap Size: </span>
|
||||
<select id="maxHeapSizeSelect"></select>
|
||||
<p id="maxHeapSizeWarning"><b>Note:</b> The Administrator may fail to start if the max heap size is set too high.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="webdashboardsignin" class="col-xs-6 col-xs-6-custom">
|
||||
<h1 id="webDashboardHeader" style="text-align: center;">Web Dashboard Sign in</h1>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${actionBean.secureHttps == true}">
|
||||
<form id="webLoginForm" name="loginform" action="Login.action" method="post">
|
||||
<div id="loginErrorAlert" class="alert alert-danger hide fade in" data-alert="alert">
|
||||
<p>Invalid login credentials</p>
|
||||
</div>
|
||||
<div id="webLoginWrapper">
|
||||
<div id="webLogin">
|
||||
<input type="hidden" name="op" value="login" /> <input type="hidden" name="version" value="0.0.0" /> <label for="username">Username</label>
|
||||
<input id="username" type="text" name="username" autocomplete="off" maxlength="32" /> <label for="password">Password</label>
|
||||
<input id="password" type="password" name="password" autocomplete="off" />
|
||||
<div id="webLoginSecurityReminder" class="help-block">
|
||||
<strong>Security Reminder:</strong><br /> Sign out of your account when you finish your session.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="webLoginButton">
|
||||
<input class="btn btn-md btn-themebutton" type="submit" value="Sign in"/>
|
||||
</div>
|
||||
</form>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div id="securesiteaccess">
|
||||
<p>The Mirth Connect Web Dashboard must be accessed over HTTPS. Click below button to switch to the secure site.</p>
|
||||
<div class="help-block">
|
||||
<br/><strong>Note:</strong><br/> You may see a certificate error if your server is using a <a href="http://en.wikipedia.org/wiki/Self-signed_certificate" target="_blank">self-signed certificate</a>. To prevent further warnings, you can add this certificate to your browser or operating system.
|
||||
</div>
|
||||
</div>
|
||||
<div id="accessSecureSiteButton" style="text-align: center;">
|
||||
<a class="btn btn-md btn-themebutton" href="SecureAccess.action">Access Secure Site</a>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="smallSubPage">
|
||||
<p>© 2017 Mirth Corporation | Mirth Connect</p>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(
|
||||
function detectMobile() {
|
||||
/**
|
||||
* jQuery.browser.mobile (http://detectmobilebrowser.com/)
|
||||
* jQuery.browser.mobile will be true if the browser is a mobile device
|
||||
**/
|
||||
(function(a) {
|
||||
jQuery.browser.mobile = /android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))
|
||||
})(navigator.userAgent || navigator.vendor || window.opera);
|
||||
|
||||
if (jQuery.browser.mobile) {
|
||||
$("#mcadministrator").hide();
|
||||
|
||||
$("#centerWrapper").css("margin", "0");
|
||||
$("#centerWrapper").css("padding", "0");
|
||||
$("#centerWrapper").css("border", "none");
|
||||
$("#centerWrapper").css("width", "100%");
|
||||
|
||||
$("#webdashboardsignin").css("border-left", "0");
|
||||
$("#webdashboardsignin").css("margin-left", "0");
|
||||
$("#webdashboardsignin").css("padding-left", "0");
|
||||
$("#webdashboardsignin").css("width", "100%");
|
||||
|
||||
$("#username").css("width", "100%");
|
||||
$("#password").css("width", "100%");
|
||||
|
||||
$("#securesiteaccess").css("margin-left", "30px");
|
||||
|
||||
// Set viewport meta tag
|
||||
var mt = $('meta[name=viewport]');
|
||||
mt = mt.length ? mt : $('<meta name="viewport" />').appendTo('head');
|
||||
mt.attr('content', 'initial-scale=.8,maximum-scale=.8,user-scalable=no,width=device-width');
|
||||
} else {
|
||||
$("#mcadministrator").show();
|
||||
}
|
||||
$("#body").css("display", "inline");
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
var showAlert = false;
|
||||
$(document).ready(function() {
|
||||
// Get the default max heap size and options from the context
|
||||
var defaultMaxHeapSize = convertHeapSizeString('${actionBean.context.maxHeapSize}', 512);
|
||||
var maxHeapSizeOptions = '${actionBean.context.maxHeapSizeOptions}';
|
||||
var options = [];
|
||||
|
||||
// Set the options if they were specified in the context
|
||||
if (maxHeapSizeOptions) {
|
||||
var optionsStringArray = maxHeapSizeOptions.split(',');
|
||||
|
||||
for (var i = 0; i < optionsStringArray.length; i++) {
|
||||
var heapSize = convertHeapSizeString(optionsStringArray[i]);
|
||||
if (heapSize) {
|
||||
options.push(heapSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If no options were specified or they were invalid, set the defaults
|
||||
if (options.length == 0) {
|
||||
options = [256,512,1024,2048];
|
||||
}
|
||||
|
||||
// Determine if the default is contained in the options array
|
||||
var found = false;
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
if (options[i].toString() == defaultMaxHeapSize) {
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
||||
// If not, put it in the array
|
||||
if (!found) {
|
||||
options.push(defaultMaxHeapSize);
|
||||
}
|
||||
|
||||
// Sort the options array
|
||||
options.sort(function(a,b) {return a-b});
|
||||
|
||||
// Build the options HTML for the select input
|
||||
var selectHtml = '';
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
var num = options[i];
|
||||
var selected = (num.toString() == defaultMaxHeapSize);
|
||||
var letter = 'm';
|
||||
|
||||
if (num % 1024 == 0) {
|
||||
num /= 1024;
|
||||
letter = 'g';
|
||||
}
|
||||
selectHtml += '<option value="' + num + letter + '"' + (selected ? ' selected' : '') + '>' + num + ' ' + letter.toUpperCase() + 'B</option>';
|
||||
}
|
||||
|
||||
// Set the options
|
||||
$('#maxHeapSizeSelect').html(selectHtml);
|
||||
|
||||
// This prevents closing the Bootstrap dropdown when clicking on the select input
|
||||
$('#optionsDropdownMenu').click(function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
$.urlParam = function(name) {
|
||||
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
|
||||
if (results != null) {
|
||||
return results[1] || 0;
|
||||
}
|
||||
}
|
||||
showAlert = $.urlParam('showAlert');
|
||||
|
||||
if (showAlert) {
|
||||
$("#loginErrorAlert").removeClass('hide');
|
||||
return false;
|
||||
} else {
|
||||
$("#loginErrorAlert").addClass('hide');
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
function convertHeapSizeString(str, defaultSize) {
|
||||
str = new String(str);
|
||||
defaultSize = new Number(defaultSize) || 0;
|
||||
var heapSize = new Number(str.replace(/[^\d]/g,'')) || defaultSize;
|
||||
|
||||
var heapSizeLetter = str.replace(/[^mg]/ig,'');
|
||||
if (!/[mg]/i.test(heapSizeLetter)) {
|
||||
heapSizeLetter = 'm';
|
||||
}
|
||||
if (heapSizeLetter.toLowerCase() == 'g') {
|
||||
heapSize *= 1024;
|
||||
}
|
||||
|
||||
return heapSize;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
function launchAdministrator(){
|
||||
window.location.href = 'http://' + window.location.hostname + ':${actionBean.context.httpPort}${actionBean.context.contextPath}/webstart.jnlp?time=' + new Date().getTime() + '&maxHeapSize=' + $('#maxHeapSizeSelect').val();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
|
||||
<filter>
|
||||
<filter-name>StripesFilter</filter-name>
|
||||
<filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>ActionResolver.Packages</param-name>
|
||||
<param-value>com.mirth.connect.webadmin.action</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>ActionBeanContext.Class</param-name>
|
||||
<param-value>com.mirth.connect.webadmin.action.BaseActionBeanContext</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>DispatcherServlet</servlet-name>
|
||||
<servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<!-- JSPC servlet mappings start -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.dashboardstatistics_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.dashboardstatistics_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.index_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.index_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.taglibs_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.common.taglibs_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.layoutmain_jsp</servlet-name>
|
||||
<servlet-class>org.apache.jsp.WEB_002dINF.jsp.common.layoutmain_jsp</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.dashboardstatistics_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/dashboardstatistics.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.index_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/index.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.taglibs_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/common/taglibs.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>org.apache.jsp.WEB_002dINF.jsp.common.layoutmain_jsp</servlet-name>
|
||||
<url-pattern>/WEB-INF/jsp/common/layoutmain.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- JSPC servlet mappings end -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>DispatcherServlet</servlet-name>
|
||||
<url-pattern>*.action</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>StripesFilter</filter-name>
|
||||
<servlet-name>DispatcherServlet</servlet-name>
|
||||
<dispatcher>REQUEST</dispatcher>
|
||||
<dispatcher>FORWARD</dispatcher>
|
||||
</filter-mapping>
|
||||
|
||||
<jsp-config>
|
||||
<taglib>
|
||||
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
|
||||
<taglib-location>/WEB-INF/c.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
|
||||
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://java.sun.com/jsp/jstl/functions</taglib-uri>
|
||||
<taglib-location>/WEB-INF/fn.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://stripes.sourceforge.net/stripes.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/stripes.tld</taglib-location>
|
||||
</taglib>
|
||||
<taglib>
|
||||
<taglib-uri>http://displaytag.sf.net</taglib-uri>
|
||||
<taglib-location>/WEB-INF/displaytag.tld</taglib-location>
|
||||
</taglib>
|
||||
</jsp-config>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
||||
@@ -0,0 +1,100 @@
|
||||
.ux-maximgb-treegrid-breadcrumbs
|
||||
{
|
||||
color: #15428B;
|
||||
border-bottom: 1px solid #D0D0D0;
|
||||
font: normal 11px arial, tahoma, helvetica, sans-serif;
|
||||
-moz-outline: none;
|
||||
-moz-user-focus: normal;
|
||||
line-height: 15px;
|
||||
padding: 4px 3px 4px 6px;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-brditem
|
||||
{
|
||||
color: #15428B;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-uiwrap
|
||||
{
|
||||
float: left;
|
||||
position: relative;
|
||||
height: 18px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-empty
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-line
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-line.gif) repeat-x;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-end
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-end.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-active
|
||||
{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-minus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-minus.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-end-minus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-end-minus.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-plus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-plus.gif) no-repeat;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-elbow-end-plus
|
||||
{
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background: url(../images/elbow-end-plus.gif) no-repeat;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
.ux-maximgb-treegrid-level-0
|
||||
{
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-1
|
||||
{
|
||||
background-color: #DFE7FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-2
|
||||
{
|
||||
background-color: #BFCFFF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-3
|
||||
{
|
||||
background-color: #9FB7FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-4
|
||||
{
|
||||
background-color: #809FFF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-5
|
||||
{
|
||||
background-color: #6087FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-6
|
||||
{
|
||||
background-color: #4070FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-7
|
||||
{
|
||||
background-color: #2058FF;
|
||||
}
|
||||
|
||||
.ux-maximgb-treegrid-level-8
|
||||
{
|
||||
background-color: #0040FF;
|
||||
}
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,55 @@
|
||||
/* jQuery treeTable stylesheet
|
||||
*
|
||||
* This file contains styles that are used to display the tree table. Each tree
|
||||
* table is assigned the +treeTable+ class.
|
||||
* ========================================================================= */
|
||||
|
||||
/* jquery.treeTable.collapsible
|
||||
* ------------------------------------------------------------------------- */
|
||||
.treeTable tr td .expander {
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
zoom: 1; /* IE7 Hack */
|
||||
}
|
||||
|
||||
.treeTable tr td a.expander {
|
||||
background-position: left center;
|
||||
background-repeat: no-repeat;
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.treeTable tr.collapsed td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-expand-dark.png);
|
||||
}
|
||||
|
||||
.treeTable tr.expanded td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-collapse-dark.png);
|
||||
}
|
||||
|
||||
/* jquery.treeTable.sortable
|
||||
* ------------------------------------------------------------------------- */
|
||||
.treeTable tr.selected, .treeTable tr.accept {
|
||||
background-color: #3875d7;
|
||||
}
|
||||
|
||||
.treeTable tr.selected a.expander, .treeTable tr.accept a.expander {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.treeTable tr.collapsed.selected td a.expander, .treeTable tr.collapsed.accept td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-expand-light.png);
|
||||
}
|
||||
|
||||
.treeTable tr.expanded.selected td a.expander, .treeTable tr.expanded.accept td a.expander {
|
||||
background-image: url(../images/ludo-jquery-treetable/toggle-collapse-light.png);
|
||||
}
|
||||
|
||||
.treeTable .ui-draggable-dragging {
|
||||
color: #000;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Layout helper taken from jQuery UI. This way I don't have to require the
|
||||
* full jQuery UI CSS to be loaded. */
|
||||
.ui-helper-hidden { display: none; }
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,79 @@
|
||||
body {
|
||||
padding-top: 80px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
#navbarList {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#userButtonContainer {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
#userButton {
|
||||
height: 28px !important;
|
||||
padding: 3px 8px !important;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
#statisticsNavbarContainer {
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#errorAlert {
|
||||
width: 410px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#errorAlert p {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
border-collapse: separate;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 1em 0;
|
||||
clear: both;
|
||||
max-width: 100%;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.table-bordered th + th, .table-bordered td + td, .table-bordered th + td, .table-bordered td + th {
|
||||
border-left: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.table th, .table td {
|
||||
padding: 3px 5px !important;
|
||||
line-height: 18px;
|
||||
text-align: left;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.table tr {
|
||||
height: 27px;
|
||||
}
|
||||
|
||||
a.expander {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
.table > thead > tr > th {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
td.child {
|
||||
padding-left: 39px !important;
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph />
|
||||
<glyph />
|
||||
<glyph unicode="
" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
|
||||
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="163" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="72" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
||||
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
||||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
||||
<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
|
||||
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
||||
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
||||
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
||||
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
||||
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
|
||||
<glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
|
||||
<glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
||||
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
||||
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
|
||||
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
||||
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
||||
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
||||
<glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
||||
<glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
|
||||
<glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
|
||||
<glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
|
||||
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
||||
<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
||||
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
||||
<glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
|
||||
<glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
||||
<glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
|
||||
<glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
||||
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
||||
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
||||
<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
|
||||
<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
|
||||
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
||||
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
||||
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
||||
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
||||
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
|
||||
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
||||
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
||||
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
|
||||
<glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
|
||||
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
||||
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
||||
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
|
||||
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
||||
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
|
||||
<glyph unicode="" d="M200 0l900 550l-900 550v-1100z" />
|
||||
<glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
|
||||
<glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
|
||||
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
||||
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
||||
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
||||
<glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" />
|
||||
<glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
|
||||
<glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
|
||||
<glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" />
|
||||
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
||||
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
|
||||
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
||||
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
||||
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
||||
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
||||
<glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
|
||||
<glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
|
||||
<glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
|
||||
<glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
|
||||
<glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
|
||||
<glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
|
||||
<glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
|
||||
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
||||
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
||||
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
|
||||
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
||||
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
|
||||
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
|
||||
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
||||
<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
|
||||
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
|
||||
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
|
||||
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
||||
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
||||
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
|
||||
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
|
||||
<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
|
||||
<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
|
||||
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
||||
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
||||
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
|
||||
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
||||
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
||||
<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
||||
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
|
||||
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
||||
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
||||
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
|
||||
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
|
||||
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
||||
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
||||
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
|
||||
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
||||
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 252 B |