Initial commit of mtgonline project

This commit is contained in:
2026-07-18 04:57:40 +00:00
commit 86c12376f8
1870 changed files with 547994 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
from archlinux:latest
RUN pacman --sync --refresh --sysupgrade --needed --noconfirm \
base-devel \
ccache \
cmake \
git \
gtest \
mariadb-libs \
ninja \
protobuf \
qt6-base \
qt6-imageformats \
qt6-multimedia \
qt6-svg \
qt6-tools \
qt6-translations \
qt6-websockets \
&& pacman --sync --clean --clean --noconfirm
+28
View File
@@ -0,0 +1,28 @@
FROM debian:12
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ccache \
clang-format \
cmake \
file \
g++ \
git \
libgl-dev \
liblzma-dev \
libmariadb-dev-compat \
libprotobuf-dev \
libqt6multimedia6 \
libqt6sql6-mysql \
ninja-build \
protobuf-compiler \
qt6-image-formats-plugins \
qt6-l10n-tools \
qt6-multimedia-dev \
qt6-svg-dev \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-websockets-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
+29
View File
@@ -0,0 +1,29 @@
FROM debian:13
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
ccache \
clang-format \
cmake \
file \
g++ \
git \
libgl-dev \
liblzma-dev \
libmariadb-dev-compat \
libprotobuf-dev \
libqt6multimedia6 \
libqt6sql6-mysql \
ninja-build \
protobuf-compiler \
qt6-image-formats-plugins \
qt6-l10n-tools \
qt6-multimedia-dev \
qt6-svg-dev \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-websockets-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
+16
View File
@@ -0,0 +1,16 @@
FROM fedora:43
RUN dnf install -y \
ccache \
cmake \
gcc-c++ \
git \
mariadb-devel \
ninja-build \
protobuf-devel \
qt6-{qttools,qtsvg,qtmultimedia,qtwebsockets}-devel \
qt6-qtimageformats \
rpm-build \
xz-devel \
zlib-devel \
&& dnf clean all
+16
View File
@@ -0,0 +1,16 @@
FROM fedora:44
RUN dnf install -y \
ccache \
cmake \
gcc-c++ \
git \
mariadb-devel \
ninja-build \
protobuf-devel \
qt6-{qttools,qtsvg,qtmultimedia,qtwebsockets}-devel \
qt6-qtimageformats \
rpm-build \
xz-devel \
zlib-devel \
&& dnf clean all
+21
View File
@@ -0,0 +1,21 @@
FROM debian:12
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ccache \
clang-format \
cmake \
file \
g++ \
git \
libmariadb-dev-compat \
libprotobuf-dev \
libqt6sql6-mysql \
ninja-build \
protobuf-compiler \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-websockets-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
+28
View File
@@ -0,0 +1,28 @@
FROM ubuntu:24.04
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ccache \
clang-format \
cmake \
file \
g++ \
git \
libgl-dev \
liblzma-dev \
libmariadb-dev-compat \
libprotobuf-dev \
libqt6multimedia6 \
libqt6sql6-mysql \
ninja-build \
protobuf-compiler \
qt6-image-formats-plugins \
qt6-l10n-tools \
qt6-multimedia-dev \
qt6-svg-dev \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-websockets-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
+29
View File
@@ -0,0 +1,29 @@
FROM ubuntu:26.04
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
ccache \
clang-format \
cmake \
file \
g++ \
git \
libgl-dev \
liblzma-dev \
libmariadb-dev-compat \
libprotobuf-dev \
libqt6multimedia6 \
libqt6sql6-mysql \
ninja-build \
protobuf-compiler \
qt6-image-formats-plugins \
qt6-l10n-tools \
qt6-multimedia-dev \
qt6-svg-dev \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-websockets-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
+326
View File
@@ -0,0 +1,326 @@
#!/bin/bash
# This script is to be used by the ci environment from the project root directory, do not use it from somewhere else.
# Compiles cockatrice inside of a ci environment
# --install runs make install
# --package [<package type>] runs make package, optionally force the type
# --suffix <suffix> renames package with this suffix, requires arg
# --server compiles servatrice
# --test runs tests
# --debug or --release sets the build type ie CMAKE_BUILD_TYPE
# --ccache [<size>] uses ccache and shows stats, optionally provide size
# --evict-ccache <age> runs ccache eviction based on given age after build
# --dir <dir> sets the name of the build dir, default is "build"
# --cmake-generator <generator> sets CMAKE_GENERATOR as used by cmake
# --target-macos-version <version> sets the min os version - only used for macOS builds
# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_NO_CLIENT MAKE_TEST USE_CCACHE CCACHE_SIZE CCACHE_EVICTION_AGE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION
# (correspond to args: --debug/--release --install --package <package type> --suffix <suffix> --server --test --ccache <ccache_size> --dir <dir>)
# exitcode: 1 for failure, 3 for invalid arguments
# Read arguments
while [[ $# != 0 ]]; do
case "$1" in
'--')
shift
;;
'--install')
MAKE_INSTALL=1
shift
;;
'--package')
MAKE_PACKAGE=1
shift
if [[ $# != 0 && ${1:0:1} != - ]]; then
PACKAGE_TYPE="$1"
shift
fi
;;
'--suffix')
shift
if [[ $# == 0 ]]; then
echo "::error file=$0::--suffix expects an argument"
exit 3
fi
PACKAGE_SUFFIX="$1"
shift
;;
'--server')
MAKE_SERVER=1
shift
;;
'--no-client')
MAKE_NO_CLIENT=1
shift
;;
'--test')
MAKE_TEST=1
shift
;;
'--debug')
BUILDTYPE="Debug"
shift
;;
'--release')
BUILDTYPE="Release"
shift
;;
'--ccache')
USE_CCACHE=1
shift
if [[ $# != 0 && ${1:0:1} != - ]]; then
CCACHE_SIZE="$1"
shift
fi
;;
'--evict-ccache')
shift
if [[ $# == 0 ]]; then
echo "::error file=$0::--evict-ccache expects an argument"
exit 3
fi
CCACHE_EVICTION_AGE=$1
shift
;;
'--vcpkg')
USE_VCPKG=1
shift
;;
'--dir')
shift
if [[ $# == 0 ]]; then
echo "::error file=$0::--dir expects an argument"
exit 3
fi
BUILD_DIR="$1"
shift
;;
'--cmake-generator')
shift
if [[ $# == 0 ]]; then
echo "::error file=$0::--cmake-generator expects an argument"
exit 3
fi
export CMAKE_GENERATOR=$1
shift
;;
'--target-macos-version')
shift
if [[ $# == 0 ]]; then
echo "::error file=$0::--target-macos-version expects an argument"
exit 3
fi
TARGET_MACOS_VERSION="$1"
shift
;;
*)
echo "::error file=$0::unrecognized option: $1"
exit 3
;;
esac
done
set -e
# Setup
./servatrice/check_schema_version.sh
if [[ ! $BUILDTYPE ]]; then
BUILDTYPE=Release
fi
if [[ ! $BUILD_DIR ]]; then
BUILD_DIR="build"
fi
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
# Set minimum CMake Version
export CMAKE_POLICY_VERSION_MINIMUM=3.10
# Add cmake flags
flags=("-DCMAKE_BUILD_TYPE=$BUILDTYPE")
if [[ $MAKE_SERVER ]]; then
flags+=("-DWITH_SERVER=1")
fi
if [[ $MAKE_NO_CLIENT ]]; then
flags+=("-DWITH_CLIENT=0" "-DWITH_ORACLE=0")
fi
if [[ $MAKE_TEST ]]; then
flags+=("-DTEST=1")
fi
if [[ $USE_CCACHE ]]; then
flags+=("-DUSE_CCACHE=1")
if [[ $CCACHE_SIZE ]]; then
# note, this setting persists after running the script
ccache --max-size "$CCACHE_SIZE"
fi
fi
if [[ $PACKAGE_TYPE ]]; then
flags+=("-DCPACK_GENERATOR=$PACKAGE_TYPE")
fi
if [[ $USE_VCPKG ]]; then
flags+=("-DUSE_VCPKG=1")
fi
# Add cmake --build flags
buildflags=(--config "$BUILDTYPE")
function ccachestatsverbose() {
# note, verbose only works on newer ccache, discard the error
local got
if got="$(ccache --show-stats --verbose 2>/dev/null)"; then
echo "$got"
else
ccache --show-stats
fi
}
# Compile
if [[ $RUNNER_OS == macOS ]]; then
# QTDIR is needed for macOS since we actually only use the cached thin Qt binaries instead of the install-qt-action,
# which sets a few environment variables
if QTDIR=$(find "$GITHUB_WORKSPACE/Qt" -depth -maxdepth 2 -name macos -type d -print -quit); then
echo "found QTDIR at $QTDIR"
else
echo "could not find QTDIR!"
exit 2
fi
# the qtdir is located at Qt/[qtversion]/macos
# we use find to get the first subfolder with the name "macos"
# this works independent of the qt version as there should be only one version installed on the runner at a time
export QTDIR
if [[ $TARGET_MACOS_VERSION ]]; then
# CMAKE_OSX_DEPLOYMENT_TARGET is a vanilla cmake flag needed to compile to target macOS version
flags+=("-DCMAKE_OSX_DEPLOYMENT_TARGET=$TARGET_MACOS_VERSION")
# vcpkg dependencies need a vcpkg triplet file to compile to the target macOS version
# an easy way is to copy the x64-osx.cmake file and modify it
triplets_dir="/tmp/cmake/triplets"
triplet_version="custom-triplet"
triplet_file="$triplets_dir/$triplet_version.cmake"
arch=$(uname -m)
if [[ $arch == x86_64 ]]; then
arch="x64"
fi
mkdir -p "$triplets_dir"
triplet_source="../vcpkg/triplets/$arch-osx.cmake"
if [[ ! -f "$triplet_source" ]]; then
triplet_source="../vcpkg/triplets/community/$arch-osx.cmake"
fi
cp "$triplet_source" "$triplet_file"
echo "set(VCPKG_CMAKE_SYSTEM_VERSION $TARGET_MACOS_VERSION)" >>"$triplet_file"
echo "set(VCPKG_OSX_DEPLOYMENT_TARGET $TARGET_MACOS_VERSION)" >>"$triplet_file"
flags+=("-DVCPKG_OVERLAY_TRIPLETS=$triplets_dir")
flags+=("-DVCPKG_HOST_TRIPLET=$triplet_version")
flags+=("-DVCPKG_TARGET_TRIPLET=$triplet_version")
echo "::group::Generated triplet $triplet_file"
cat "$triplet_file"
echo "::endgroup::"
fi
echo "::group::Signing Certificate"
if [[ -n "$MACOS_CERTIFICATE_NAME" ]]; then
echo "$MACOS_CERTIFICATE" | base64 --decode >"certificate.p12"
security create-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain
security default-keychain -s build.keychain
security set-keychain-settings -t 3600 -l build.keychain
security unlock-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain
security import certificate.p12 -k build.keychain -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$MACOS_CI_KEYCHAIN_PWD" build.keychain
echo "macOS signing certificate successfully imported and keychain configured."
else
echo "No signing certificate configured. Skipping set up of keychain in macOS environment."
fi
echo "::endgroup::"
if [[ $MAKE_PACKAGE ]]; then
# Workaround https://github.com/actions/runner-images/issues/7522
# have hdiutil repeat the command 10 times in hope of success
hdiutil_script="/tmp/hdiutil.sh"
# shellcheck disable=SC2016
echo '#!/bin/bash
i=0
while ! hdiutil "$@"; do
if (( ++i >= 10 )); then
echo "Error: hdiutil failed $i times!" >&2
break
fi
sleep 1
done' >"$hdiutil_script"
chmod +x "$hdiutil_script"
flags+=(-DCPACK_COMMAND_HDIUTIL="$hdiutil_script")
fi
elif [[ $RUNNER_OS == Windows ]]; then
# Enable MTT, see https://devblogs.microsoft.com/cppblog/improved-parallelism-in-msbuild/
# and https://devblogs.microsoft.com/cppblog/cpp-build-throughput-investigation-and-tune-up/#multitooltask-mtt
buildflags+=(-- -p:UseMultiToolTask=true -p:EnableClServerMode=true)
fi
if [[ $USE_CCACHE ]]; then
echo "::group::Show ccache stats"
ccachestatsverbose
echo "::endgroup::"
fi
echo "::group::Configure cmake"
cmake --version
echo "Running cmake with flags: ${flags[*]}"
cmake .. "${flags[@]}"
echo "::endgroup::"
echo "::group::Build project"
echo "Running cmake --build with flags: ${buildflags[*]}"
cmake --build . "${buildflags[@]}"
echo "::endgroup::"
if [[ $USE_CCACHE ]]; then
if [[ $CCACHE_EVICTION_AGE ]]; then
echo "::group::evict ccache files older than $CCACHE_EVICTION_AGE"
ccache --evict-older-than "$CCACHE_EVICTION_AGE"
echo "::endgroup::"
fi
echo "::group::Show ccache stats again"
ccachestatsverbose
echo "::endgroup::"
elif [[ $CCACHE_EVICTION_AGE ]]; then
echo "::error file=$0::ccache eviction is enabled while ccache is disabled!"
fi
if [[ $RUNNER_OS == macOS ]]; then
echo "::group::Inspect Mach-O binaries"
for app in cockatrice oracle servatrice; do
binary="$GITHUB_WORKSPACE/build/$app/$app.app/Contents/MacOS/$app"
echo "Inspecting $app..."
vtool -show-build "$binary"
file "$binary"
lipo -info "$binary"
echo ""
done
echo "::endgroup::"
fi
if [[ $MAKE_TEST ]]; then
echo "::group::Run tests"
ctest -C "$BUILDTYPE" --output-on-failure
echo "::endgroup::"
fi
if [[ $MAKE_INSTALL ]]; then
echo "::group::Install"
cmake --build . --target install --config "$BUILDTYPE"
echo "::endgroup::"
fi
if [[ $MAKE_PACKAGE ]]; then
echo "::group::Create package"
cmake --build . --target package --config "$BUILDTYPE"
echo "::endgroup::"
if [[ $PACKAGE_SUFFIX ]]; then
echo "::group::Update package name"
cd ..
BUILD_DIR="$BUILD_DIR" .ci/name_build.sh "$PACKAGE_SUFFIX"
echo "::endgroup::"
fi
fi
+188
View File
@@ -0,0 +1,188 @@
#!/bin/bash
# This script is to be used by the ci environment from the project root directory, do not use it from somewhere else.
# Creates or loads docker images to use in compilation, creates RUN function to start compilation on the docker image.
#
# usage: source <script> <name> [--get] [--build] [--save] [--interactive] [--set-cache <location>]
# <name> sets the name of the docker image, these correspond to directories in .ci
# --get loads the image from a previously saved image cache, will build if no image is found
# --build builds the image from the Dockerfile in .ci/$NAME
# --save stores the image, if an image was loaded it will not be stored
# --interactive immediately starts the image interactively for debugging
# --set-cache <location> sets the location to cache the image or for ccache
#
# requires: docker
# uses env: NAME CACHE BUILD GET SAVE INTERACTIVE
# (correspond to args: <name> --set-cache <cache> --build --get --save --interactive)
# sets env: RUN CCACHE_DIR IMAGE_NAME RUN_ARGS RUN_OPTS BUILD_SCRIPT
# exitcode: 1 for failure, 2 for missing dockerfile, 3 for invalid arguments
#
# exported RUN function will run the BUILD_SCRIPT inside of the docker container.
# note that the docker container will not inherit any environment variables!
#
# usage: RUN [arguments for build script]
# roughly equivalent to `docker run $IMAGE_NAME bash $BUILD_SCRIPT $@`
# uses env: CCACHE_DIR IMAGE_NAME RUN_ARGS RUN_OPTS BUILD_SCRIPT
# exitcode: 3 for invalid arguments, returns the returncode of docker run
export BUILD_SCRIPT=".ci/compile.sh"
project_name="cockatrice"
save_extension=".tar.gz"
image_cache="image"
ccache_cache=".ccache"
# Read arguments
while [[ $# != 0 ]]; do
case "$1" in
'--build')
BUILD=1
shift
;;
'--get')
GET=1
shift
;;
'--interactive')
INTERACTIVE=1
shift
;;
'--save')
SAVE=1
shift
;;
'--set-cache')
shift
if [[ $# == 0 ]]; then
echo "--set-cache expects an argument" >&2
exit 3
fi
CACHE=$1
shift
if ! [[ -d $CACHE ]]; then
echo "could not find cache path: $CACHE" >&2
return 3
fi
;;
*)
if [[ ${1:0:1} == - ]]; then
echo "unrecognized option: $1"
return 3
fi
NAME="$1"
shift
;;
esac
done
# Setup
if ! [[ $NAME ]]; then
echo "no build name given" >&2
return 3
fi
export IMAGE_NAME="${project_name,,}_${NAME,,}" # lower case
docker_dir=".ci/$NAME"
if ! [[ -r $docker_dir/Dockerfile ]]; then
echo "could not find Dockerfile in $docker_dir" >&2
return 2 # even if the image is cached, we do not want to run if there is no way to build this image
fi
if ! [[ $CACHE ]]; then
echo "cache dir is not set!" >&2
CACHE="$(mktemp -d)"
echo "set cache dir to $CACHE" >&2
fi
if ! [[ -d $CACHE ]]; then
echo "could not find cache dir: $CACHE" >&2
mkdir -p "$CACHE"
unset GET # the dir is empty
fi
if [[ $GET || $SAVE ]]; then
img_dir="$CACHE/$image_cache"
img_save="$img_dir/$IMAGE_NAME$save_extension"
if ! [[ -d $img_dir ]]; then
echo "could not find image dir: $img_dir" >&2
mkdir -p "$img_dir"
fi
fi
export CCACHE_DIR="$CACHE/$ccache_cache"
if ! [[ -d $CCACHE_DIR ]]; then
echo "could not find ccache dir: $CCACHE_DIR" >&2
mkdir -p "$CCACHE_DIR"
fi
# Get the docker image from previously stored save
if [[ $GET ]]; then
if [[ $img_save ]] && docker load --input "$img_save"; then
echo "loaded image"
docker images
unset BUILD # do not overwrite the loaded image with build
unset SAVE # do not overwrite the stored image with the same image
if [[ $(find "$CCACHE_DIR" -type f -print -quit) ]]; then # check contents of ccache
echo "setting ccache to readonly"
export RUN_ARGS="$RUN_ARGS -e CCACHE_READONLY=1 -e CCACHE_NOSTATS=1" # do not overwrite ccache
else
echo "ccache is empty: $(find "$CCACHE_DIR")" >&2
fi
else
echo "could not load cached image, building instead" >&2
BUILD=1
fi
fi
# Build the docker image from dockerfile
if [[ $BUILD ]]; then
if docker build --tag "$IMAGE_NAME" "$docker_dir"; then
echo "built image"
docker images
else
echo "could not build image $IMAGE_NAME" >&2
return 1
fi
fi
# Save docker image to cache (compressed)
if [[ $SAVE ]]; then
if [[ $img_save ]] && docker save --output "$img_save" "$IMAGE_NAME"; then
echo "saved image to: $img_save"
else
echo "could not save image $IMAGE_NAME" >&2
fi
fi
# Set compile function, runs the compile script on the image, passes arguments to the script
# shellcheck disable=2120
function RUN ()
{
echo "running image:"
if [[ $(docker images) =~ $IMAGE_NAME ]]; then
local args=(--mount "type=bind,source=$PWD,target=/src")
args+=(--workdir "/src")
args+=(--user "$(id -u):$(id -g)")
if [[ $CCACHE_DIR ]]; then
args+=(--mount "type=bind,source=$CCACHE_DIR,target=/.ccache")
args+=(--env "CCACHE_DIR=/.ccache")
fi
if [[ $GITHUB_OUTPUT ]]; then
args+=(--mount "type=bind,source=$GITHUB_OUTPUT,target=/gh_output")
args+=(--env "GITHUB_OUTPUT=/gh_output")
fi
# shellcheck disable=2086
docker run "${args[@]}" $RUN_ARGS "$IMAGE_NAME" bash "$BUILD_SCRIPT" $RUN_OPTS "$@"
return $?
else
echo "could not find docker image: $IMAGE_NAME" >&2
return 3
fi
}
# for debugging, start the docker image interactively instead of building
# starts immediately, does not require sourcing or RUN
if [[ $INTERACTIVE ]]; then
export BUILD_SCRIPT="-i"
export RUN_ARGS="$RUN_ARGS -it"
# shellcheck disable=2119
RUN
fi
+59
View File
@@ -0,0 +1,59 @@
#!/bin/bash
# fetch master branch
git fetch origin master
# unshallow if needed
echo "Finding merge base"
if ! git merge-base origin/master HEAD; then
echo "Could not find merge base, unshallowing repo"
git fetch --unshallow
fi
# Check formatting using format.sh
echo "Checking your code using format.sh..."
./format.sh --color-diff --cmake --shell --print-version --branch origin/master
err=$?
case $err in
1)
cat <<EOM
***********************************************************
*** ***
*** Your code does not comply with our style guide. ***
*** ***
*** Please correct it or run the "format.sh" script. ***
*** Then commit and push those changes to this branch. ***
*** Check our CONTRIBUTING.md file for more details. ***
*** ***
*** Thank you ❤️ ***
*** ***
***********************************************************
Exiting...
EOM
exit 2
;;
0)
cat <<EOM
***********************************************************
*** ***
*** Your code complies with our style guide! ***
*** ***
*** Awesome 👍 ***
*** ***
***********************************************************
Exiting...
EOM
exit 0
;;
*)
echo "Something went wrong in our formatting checks: format.sh returned $err" >&2
;;
esac
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
</dict>
</plist>
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
# used by the ci to rename build artifacts
# renames the file to [original name][SUFFIX].[original extension]
# where SUFFIX is either available in the environment or as the first arg
# expected to be run in the build directory unless BUILD_DIR is set
# adds output to GITHUB_OUTPUT
builddir="${BUILD_DIR:=.}"
findrx="Cockatrice-*.*"
if [[ $1 ]]; then
SUFFIX="$1"
fi
# check env
if [[ ! $SUFFIX ]]; then
echo "::error file=$0::SUFFIX is missing"
exit 2
fi
set -e
# find file
found="$(find "$builddir" -maxdepth 1 -type f -name "$findrx" -print -quit)"
path="${found%/*}" # remove all including first "/" from right side
file="${found##*/}" # remove all including last "/" from left side
if [[ ! $file ]]; then
echo "::error file=$0::could not find package"
exit 1
fi
oldpwd="$PWD"
if ! cd "$path"; then
echo "::error file=$0::could not get file path"
exit 1
fi
# set filename
name="${file%.*}" # remove all including first "." from right side
new_name="$name$SUFFIX"
extension="${file##*.}" # remove all including last "." from left side
filename="$new_name.$extension"
echo "renaming '$file' to '$filename'"
mv "$file" "$filename"
cd "$oldpwd"
relative_path="$path/$filename"
ls -l "$relative_path"
echo "path=$relative_path" >>"$GITHUB_OUTPUT"
echo "name=$new_name" >>"$GITHUB_OUTPUT"
echo "fullname=$filename" >>"$GITHUB_OUTPUT"
+115
View File
@@ -0,0 +1,115 @@
#!/bin/bash
# sets the properties of ci releases
# this doesn't have to be 100% foolproof
# the releases are first made as drafts and will be vetted by a human
# it just has to provide a template
# this requires the repo to be unshallowed
# adds output to GITHUB_OUTPUT
template_path=".ci/release_template.md"
body_path="/tmp/release.md"
beta_regex='beta'
name_regex='set\(GIT_TAG_RELEASENAME "([[:print:]]+)")'
whitespace='^\s*$'
if [[ $1 ]]; then
TAG="$1"
fi
# check env
if [[ ! $TAG ]]; then
echo "::error file=$0::TAG is missing"
exit 2
fi
# create title
if [[ $TAG =~ $beta_regex ]]; then
echo "is_beta=yes" >>"$GITHUB_OUTPUT"
title="$TAG"
echo "creating beta release '$title'"
elif [[ ! $(cat CMakeLists.txt) =~ $name_regex ]]; then
echo "::error file=$0::could not find releasename in CMakeLists.txt"
exit 1
else
echo "is_beta=no" >>"$GITHUB_OUTPUT"
name="${BASH_REMATCH[1]}"
version="${TAG##*-}"
title="Cockatrice $version: $name"
no_beta=1
echo "friendly_name=$name" >>"$GITHUB_OUTPUT"
echo "creating full release '$title'"
fi
echo "title=$title" >>"$GITHUB_OUTPUT"
# add release notes template
if [[ $no_beta ]]; then
body="$(cat "$template_path")"
if [[ ! $body ]]; then
echo "::warning file=$0::could not find release template"
fi
body="${body//--REPLACE-WITH-RELEASE-TITLE--/$title}"
else
body="--REPLACE-WITH-COMMIT-COUNT-- commits have been included over the previous --REPLACE-WITH-PREVIOUS-RELEASE-TYPE--
<details>
<summary><b>show changes</b></summary>
--REPLACE-WITH-GENERATED-LIST--
</details>"
fi
# add git log to release notes
all_tags="
$(git tag)" # tags are ordered alphabetically
before="${all_tags%%
"$TAG"*}" # strip line with current tag an all lines after it
# note the extra newlines are needed to always have a last line
if [[ $all_tags == "$before" ]]; then
echo "::warning file=$0::could not find current tag"
else
while
previous="${before##*
}" # get the last line
# skip this tag if this is a full release and it's a beta or if empty
[[ $no_beta && $previous =~ $beta_regex || ! $previous ]]
do
beta_list+=" $previous" # add to list of skipped betas
next_before="${before%
*}" # strip the last line
if [[ $next_before == "$before" ]]; then
unset previous
break
fi
before="$next_before"
done
if [[ $previous ]]; then
if generated_list="$(git log "$previous..$TAG" --pretty="- %s")"; then
count="$(git rev-list --count "$previous..$TAG")"
[[ $previous =~ $beta_regex ]] && previousreleasetype="beta release" || previousreleasetype="full release"
echo "adding list of commits to release notes:"
echo "'$previous' to '$TAG' ($count commits)"
# --> is the markdown comment escape sequence, emojis are way better
generated_list="${generated_list//-->/→}"
# Escape & to preserve it from commit message into markdown output
generated_list="${generated_list//&/\\&}"
body="${body//--REPLACE-WITH-GENERATED-LIST--/$generated_list}"
body="${body//--REPLACE-WITH-COMMIT-COUNT--/$count}"
body="${body//--REPLACE-WITH-PREVIOUS-RELEASE-TAG--/$previous}"
body="${body//--REPLACE-WITH-PREVIOUS-RELEASE-TYPE--/$previousreleasetype}"
if [[ $beta_list =~ $whitespace ]]; then
beta_list="-n there are no betas to delete!"
else
echo "the following betas should be deleted after publishing:"
echo "$beta_list"
fi
body="${body//--REPLACE-WITH-BETA-LIST--/$beta_list}"
else
echo "::warning file=$0::failed to produce git log"
fi
else
echo "::warning file=$0::could not find previous tag"
fi
fi
# write to file
echo "body_path=$body_path" >>"$GITHUB_OUTPUT"
echo "$body" >"$body_path"
+101
View File
@@ -0,0 +1,101 @@
<!-- this template comes from .ci/release_template.md -->
<!-- Don't forget to delete the previous betas after publishing this!
git push -d origin --REPLACE-WITH-BETA-LIST--
-->
<!-- This list of binaries should be updated every time the CI is changed to include all targets -->
<pre>
Available pre-compiled binaries for installation:
<b>Windows</b>
• <kbd>Windows 10+</kbd>
<b>macOS</b>
• <kbd>macOS 15+</kbd> <sub><i>Sequoia</i></sub> <sub>Apple M</sub>
• <kbd>macOS 14+</kbd> <sub><i>Sonoma</i></sub> <sub>Apple M</sub>
• <kbd>macOS 13+</kbd> <sub><i>Ventura</i></sub> <sub>Intel</sub>
<b>Linux</b>
• <kbd>Ubuntu 26.04 LTS</kbd> <sub><i>Resolute Racoon</i></sub>
• <kbd>Ubuntu 24.04 LTS</kbd> <sub><i>Noble Numbat</i></sub>
• <kbd>Debian 13</kbd> <sub><i>Trixie</i></sub>
• <kbd>Debian 12</kbd> <sub><i>Bookworm</i></sub>
• <kbd>Fedora 44</kbd>
• <kbd>Fedora 43</kbd>
<sub>We are also packaged in <kbd>Arch Linux</kbd>'s <a href="https://archlinux.org/packages/extra/x86_64/cockatrice">official extra repository</a>, courtesy of @FFY00.</sub>
<sub>General Linux support is available via a <kbd>flatpak</kbd> package at <a href="https://flathub.org/apps/io.github.Cockatrice.cockatrice">Flathub</a>!</sub>
<sub>We provide a <kbd>Docker</kbd> image for "Servatrice" in <a href="https://github.com/Cockatrice/Cockatrice/pkgs/container/servatrice">GHCR</a>. You can docker pull it or use our Docker Compose files!</sub>
</pre>
## General Notes
We're pleased to announce the newest official release: <kbd>--REPLACE-WITH-RELEASE-TITLE--</kbd>
We hope you enjoy the changes made! All improvements with their corresponding tickets since the last version of Cockatrice are listed in the changelog below.
If you ever encounter a bug, have a suggestion or idea, or feel a need for a developer to look into something, please feel free to [open a ticket](https://github.com/Cockatrice/Cockatrice/issues). ([How to create a Ticket for Cockatrice](https://github.com/Cockatrice/Cockatrice/wiki/How-to-Create-a-GitHub-Ticket-Regarding-Cockatrice))
For basic information related to the app and getting started, please take a look at our official site: **https://cockatrice.github.io**
If you'd like to help and contribute to Cockatrice in any way, check out our [README](https://github.com/Cockatrice/Cockatrice#contribute).
We're always available to answer questions you may have on how the program works and how you can provide a meaningful contribution.
## Upgrading Cockatrice
<!-- this optional section puts a warning banner for problems with updating
> [!IMPORTANT]
> **With this release, we no longer provide a ready-to-install binary for:**
> --DEPRECATED-OS-HERE--
-->
Run the internal software updater: <kbd>Help → Check for Client Updates</kbd>
Don't forget to update your card database right after! (<kbd>Help → Check for Card Updates...</kbd>)
## Changelog
<!--
This list is generated and should be moved to their respective header and
possibly edited a little.
Append PR numbers of fixups to their main PR to keep the list coherent.
Put the quantity of remaining PR's below the highlights section.
Remove empty headers when done.
--REPLACE-WITH-GENERATED-LIST--
-->
<!-- Highlights of the release -->
### 🔖 Highlights:
### ✨ New Features:
### 🐛 Fixed Bugs / Resolved Issues:
<!-- Complete list of changes (foldable) -->
<details>
<summary>
<b>Show all changes</b> (--REPLACE-WITH-COMMIT-COUNT-- commits)
</summary>
### User Interface
### Under the Hood
### Oracle
### Servatrice
</details>
## Translations
- **Thanks for over 300 people contributing to 20+ different languages up to now!**
- Without the help of the community we couldn't offer that great language support... keep up the good work!
- It's actually very easy to join and help for yourself - find out more here:
- [Help us Translate Cockatrice into your native language!](https://github.com/Cockatrice/Cockatrice/wiki/Translation-FAQ)
## Special Thanks
<!-- Personalise this a bit! -->
It's amazing that so many people contribute their time, knowledge, code, testing and more to the project.
We'd like to thank the entire Cockatrice community for their efforts! 🙏
<!-- We'd like to especially recognize @ZeldaZach, --ADD-CONTRIBUTORS-HERE-- for their help in preparing so many amazing new features for the user base. -->
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
# This script is used to resolve the latest patch version of Qt using aqtinstall.
# It interprets wildcards to get the latest patch version. E.g. "6.6.*" -> "6.6.3".
# This script is meant to be used by the ci enironment.
# It uses the runner's GITHUB_OUTPUT env variable.
# Usage example: .ci/resolve_latest_aqt_qt_version.sh "6.6.*"
qt_spec=$1
if [[ ! $qt_spec ]]; then
echo "usage: $0 [version]"
exit 2
fi
# If version is already specific (no wildcard), use it as-is
if [[ $qt_spec != *"*" ]]; then
echo "version $qt_spec is already resolved"
echo "version=$qt_spec" >> "$GITHUB_OUTPUT"
exit 0
fi
if ! hash aqt; then
echo "aqt could not be found, has aqtinstall been installed?"
exit 2
fi
# Resolve latest patch
if [[ $RUNNER_OS == macOS ]]; then
if ! qt_resolved=$(aqt list-qt mac desktop --spec "$qt_spec" --latest-version); then
exit 1
fi
elif [[ $RUNNER_OS == Windows ]]; then
if ! qt_resolved=$(aqt list-qt windows desktop --spec "$qt_spec" --latest-version); then
exit 1
fi
else
echo "aqt command for $RUNNER_OS not defined."
exit 1
fi
echo "resolved $qt_spec to $qt_resolved"
if [[ ! $qt_resolved ]]; then
echo "Error: Could not resolve Qt version for $qt_spec"
exit 1
fi
echo "version=$qt_resolved" >> "$GITHUB_OUTPUT"
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
# The macos binaries from aqt are fat (universal), so we thin them to the target architecture to reduce the size of
# the packages and caches using lipo.
# This script is meant to be used by the ci enironment on macos runners only.
# It uses the runner's GITHUB_WORKSPACE env variable.
arch=$(uname -m)
nproc=$(sysctl -n hw.ncpu)
function thin() {
local libfile=$1
if [[ $(file -b --mime-type "$libfile") == application/x-mach-binary* ]]; then
echo "Processing $libfile"
lipo "$libfile" -thin "$arch" -output "$libfile"
fi
return 0
}
export -f thin # export to allow use in xargs
export arch
set -eo pipefail
echo "::group::Thinning Qt libraries to $arch using $nproc cores"
find "$GITHUB_WORKSPACE/Qt" -type f -print0 | xargs -0 -n1 -P"$nproc" -I{} bash -c "thin '{}'"
echo "::endgroup::"
+58
View File
@@ -0,0 +1,58 @@
#!/bin/bash
# ci script to update translation files
# usage:
# $0 cockatrice/cockatrice_en@source.ts cockatrice/src common
# or
# FILE="cockatrice/cockatrice_en@source.ts"
# DIRS="cockatrice/src common"
# $0
# note: directories can't contain spaces
# check parameters
if [[ ! $FILE ]]; then
FILE="$1"
shift
fi
if [[ ! $FILE ]]; then
echo "no output file selected" >&2
exit 2;
fi
if [[ ! $DIRS ]]; then
DIRS="$*"
fi
if [[ ! $DIRS ]]; then
echo "no source directories selected to translate" >&2
exit 2;
fi
if [[ ! -e $FILE ]]; then
echo "output file does not exist at: $FILE" >&2
exit 3;
fi
# print version
if ! lupdate -version; then
echo "failed to run lupdate" >&2
exit 4;
fi
# run lupdate, duplicating the output in stderr and saving it
# for convenience we ignore that $DIRS will be split on spaces
# shellcheck disable=SC2086
if ! got="$(lupdate $DIRS -ts "$FILE" | tee /dev/stderr)"; then
echo "failed to update $FILE with $DIRS" >&2
exit 4;
fi
# trim output
# the line we are interested in is:
# Found xxx source text(s) (x new and xxx already existing)
output="${got##* source text(s) (}" # get stuff in between brackets
output="${output%%)*}" # trim everything after first )
if [[ $output == "$got" ]]; then
echo "could not parse generated output" >&2
exit 4;
fi
# write output to ci environment file
echo "output=$output" >> "$GITHUB_OUTPUT"
@@ -0,0 +1,14 @@
Updated source strings for translations:
- {{ .cockatrice_output }} (Cockatrice)
- {{ .oracle_output }} (Oracle)
<br>
Last changes are based on commit {{ .commit }}.
---
*This PR is automatically generated and updated by the workflow at `.github/workflows/translations-push.yml`. Review [action runs][2].*<br>
*After merging, all changes to the source language are available for translation at [Transifex][1] shortly.*
[1]: https://explore.transifex.com/cockatrice/cockatrice/
[2]: https://github.com/Cockatrice/Cockatrice/actions/workflows/translations-push.yml?query=branch%3Amaster
+34
View File
@@ -0,0 +1,34 @@
IndentWidth: 4
AccessModifierOffset: -4
ColumnLimit: 120
---
Language: Cpp
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortFunctionsOnASingleLine: None
BinPackParameters: false
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBraces: Custom
IncludeBlocks: Regroup
IndentCaseLabels: true
InsertBraces: true
PointerAlignment: Right
RemoveSemicolon: true
SortIncludes: true
StatementAttributeLikeMacros: [emit]
---
Language: Proto
AllowShortFunctionsOnASingleLine: None
SpacesInContainerLiterals: false
+109
View File
@@ -0,0 +1,109 @@
{
"format": {
"_help_line_width": [
"How wide to allow formatted cmake files"
],
"line_width": 120,
"_help_tab_size": [
"How many spaces to tab for indent"
],
"tab_size": 2,
"_help_max_subgroups_hwrap": [
"If an argument group contains more than this many sub-groups",
"(parg or kwarg groups) then force it to a vertical layout."
],
"max_subgroups_hwrap": 2,
"_help_max_pargs_hwrap": [
"If a positional argument group contains more than this many",
"arguments, then force it to a vertical layout."
],
"max_pargs_hwrap": 6,
"_help_max_rows_cmdline": [
"If a cmdline positional group consumes more than this many",
"lines without nesting, then invalidate the layout (and nest)"
],
"max_rows_cmdline": 5,
"_help_separate_ctrl_name_with_space": [
"If true, separate flow control names from their parentheses",
"with a space"
],
"separate_ctrl_name_with_space": false,
"_help_separate_fn_name_with_space": [
"If true, separate function names from parentheses with a",
"space"
],
"separate_fn_name_with_space": false,
"_help_dangle_parens": [
"If a statement is wrapped to more than one line, than dangle",
"the closing parenthesis on its own line."
],
"dangle_parens": true,
"_help_dangle_align": [
"If the trailing parenthesis must be 'dangled' on its on",
"line, then align it to this reference: `prefix`: the start",
"of the statement, `prefix-indent`: the start of the",
"statement, plus one indentation level, `child`: align to",
"the column of the arguments"
],
"dangle_align": "prefix",
"_help_min_prefix_chars": [
"If the statement spelling length (including space and",
"parenthesis) is smaller than this amount, then force reject",
"nested layouts."
],
"min_prefix_chars": 4,
"_help_max_prefix_chars": [
"If the statement spelling length (including space and",
"parenthesis) is larger than the tab width by more than this",
"amount, then force reject un-nested layouts."
],
"max_prefix_chars": 10,
"_help_max_lines_hwrap": [
"If a candidate layout is wrapped horizontally but it exceeds",
"this many lines, then reject the layout."
],
"max_lines_hwrap": 2,
"_help_line_ending": [
"What style line endings to use in the output."
],
"line_ending": "auto",
"_help_command_case": [
"Format command names consistently as 'lower' or 'upper' case"
],
"command_case": "lower",
"_help_keyword_case": [
"Format keywords consistently as 'lower' or 'upper' case"
],
"keyword_case": "upper",
"_help_always_wrap": [
"A list of command names which should always be wrapped"
],
"always_wrap": [],
"_help_enable_sort": [
"If true, the argument lists which are known to be sortable",
"will be sorted lexicographically"
],
"enable_sort": true,
"_help_autosort": [
"If true, the parsers may infer whether or not an argument",
"list is sortable (without annotation)."
],
"autosort": true,
"_help_require_valid_layout": [
"By default, if cmake-format cannot successfully fit",
"everything into the desired line-width it will apply the",
"last, most aggressive attempt that it made. If this flag is",
"True, however, cmake-format will print error, exit with non-",
"zero status code, and write-out nothing"
],
"require_valid_layout": false,
"_help_layout_passes": [
"A dictionary mapping layout nodes to a list of wrap",
"decisions. See the documentation for more information."
],
"layout_passes": {}
},
"markup": {
"enable_markup": false
}
}
+8
View File
@@ -0,0 +1,8 @@
.git/
build/
.github/
.tx/
cockatrice/
doc/
oracle/
Dockerfile
+509
View File
@@ -0,0 +1,509 @@
<!--! @page contributing Contributing -->
&nbsp; [Introduction](#contributing-to-cockatrice) | [Code Style Guide](
#code-style-guide) | [Translations](#translations) | [Release Management](
#release-management)
----
<br>
# Contributing to Cockatrice #
First off, thanks for taking the time and considering to lend a helping hand to our project! 🎉 ❤ ️✨
> [!NOTE]
> The following is a set of guidelines for contributing to Cockatrice.
> These are mostly guidelines, not rules. Use your best judgment, and feel free to
> propose changes to this document in a pull request.
>
> [![Discord](
> https://img.shields.io/discord/314987288398659595?label=Discord&logo=discord&logoColor=white)](
> https://discord.gg/3Z9yzmA)
> If you'd like to ask questions, get advice, or just want to say "Hi",
> the Cockatrice Development Team uses [Discord](https://discord.gg/ZASRzKu)
> for communications and you can reach out in the `#dev` channel.
# Recommended Setups #
For those developers on **Linux** or **macOS** environment, many of our
developers like working with a nifty program called [CLion](
https://www.jetbrains.com/clion/). The program is a great asset and one of the
best tools you'll find on these systems.
Developers on **Windows** systems tend to find [Visual Studio](
https://www.visualstudio.com/) the best tool for the job.
But you're welcomed to use any IDE you enjoy most of course!
# Code Style Guide #
### Formatting and continuous integration (CI) ###
We use a separate job on the CI to check your code for formatting issues. If
your pull request failed the test, you can check the output on the checks tab.
It's the first job called "linter", you can click the "Check code formatting"
step to see the output of the test.
The message will look like this:
```
***********************************************************
*** ***
*** Your code does not comply with our style guide. ***
*** ***
*** Please correct it or run the "format.sh" script. ***
*** Then commit and push those changes to this branch. ***
*** Check our CONTRIBUTING.md file for more details. ***
*** ***
*** Thank you ❤️ ***
*** ***
***********************************************************
```
The CONTRIBUTING.md file mentioned in that message is the file you are
currently reading. Please see [this section](#formatting) below for full
information on our formatting guidelines.
### Compatibility ###
Cockatrice is currently compiled on all platforms using <kbd>C++20</kbd>.
You'll notice <kbd>C++03</kbd> code throughout the codebase. Please feel free
to help convert it over!
For consistency, we use Qt data structures where possible. For example,
`QString` over `std::string` and `QList` over `std::vector`.
Do not use old C style casts in new code, instead use a [`static_cast<>`](
https://en.cppreference.com/w/cpp/language/static_cast)
or other appropriate conversion.
### Formatting ###
The handy tool `clang-format` can format your code for you, it is available for
almost any environment. A special [`.clang-format`](
https://github.com/Cockatrice/Cockatrice/blob/master/.clang-format) configuration file is
included in the project and is used to format your code.
We've also included a bash script, `format.sh`, that will use clang-format to
format all files in your PR in one go. Use `./format.sh --help` to show a full
help page.
To run clang-format on a single source file simply use the command
`clang-format -i <filename>` to format it in place. (Some systems install
clang-format with a specific version number appended,
`find /usr/bin -name clang-format*` should find it for you)
See the [clang-format documentation](
https://clang.llvm.org/docs/ClangFormat.html) for more information about the tool.
#### Header Files ####
Use header files with the extension `.h` and source files with the extension
`.cpp`.
Use header guards in the form of `FILE_NAME_H`.
Simple functions, such as getters, may be written inline in the header file,
but other functions should be written in the source file.
Group project includes first, followed by library includes. All in alphabetic order.
Like this:
```c++
// Good
#include "card.h"
#include "deck.h"
#include <QList>
#include <QString>
// Bad
#include <QList>
#include "card.h"
#include <QString>
#include "deck.h"
// Bad
#include "card.h"
#include "deck.h"
#include <QString>
#include <QList>
```
#### Naming ####
Use `UpperCamelCase` for classes, structs, enums, etc. and `lowerCamelCase` for
function and variable names.
Don't use [Hungarian Notation](
https://en.wikipedia.org/wiki/Hungarian_notation).
Member variables aren't decorated in any way. Don't prefix or suffix them with
underscores, etc.
Use a separate line for each declaration, don't use a single line like this
`int one = 1, two = 2` and instead split them into two lines.
For arguments to constructors which have the same names as member variables,
prefix those arguments with underscores:
```c++
MyClass::MyClass(int _myData) : myData(_myData)
{
}
```
Pointers and references should be denoted with the `*` or `&` going with the
variable name:
```c++
// Good
Foo *foo1 = new Foo;
Foo &foo2 = *foo1;
// Bad
Bar* bar1 = new Bar;
Bar& bar2 = *bar1;
```
Use `nullptr` instead of `NULL` (or `0`) for null pointers.
If you find any usage of the old keywords, we encourage you to fix it.
#### Braces ####
Braces should go on their own line except for control statements, the use of
braces around single line statements is preferred.
See the following example:
```c++
int main()
{ // function or class: own line
if (someCondition) { // control statement: same line
doSomething(); // single line statement, braces preferred
} else if (someOtherCondition1) { // else goes on the same line as a closing brace
for (int i = 0; i < 100; i++) {
doSomethingElse();
}
} else {
while (someOtherCondition2) {
doSomethingElse();
}
}
}
```
#### Indentation and Spacing ####
Always indent using 4 spaces, do not use tabs. Opening and closing braces
should be on the same indentation layer, member access specifiers in classes or
structs should not be indented.
All operators and braces should be separated by spaces, do not add a space next
to the inside of a brace.
If multiple lines of code that follow eachother have single line comments
behind them, place all of them on the same indentation level. This indentation
level should be equal to the longest line of code for each of these comments,
without added spacing.
#### Lines ####
Do not leave trailing whitespace on any line. Most IDEs check for this
nowadays and clean it up for you.
Lines should be 120 characters or less. Please break up lines that are too long
into smaller parts, for example at spaces or after opening a brace.
### Documentation Comments ###
Use [Doxygen](https://www.doxygen.nl/) for code documentation:
- **Doc blocks**: Use `/** @brief Description */` (Javadoc-style), not `///`
- **Member comments**: Use trailing `///<` for inline member documentation
- **TODOs**: Use `//! \todo Description` (Qt-style), Doxygen collects them into a Todo List
(uses [Qt-style comments](https://www.doxygen.nl/manual/docblocks.html) with
Doxygen's [\todo command](https://www.doxygen.nl/manual/commands.html#cmdtodo))
### Memory Management ###
New code should be written using references over pointers and stack allocation
over heap allocation wherever possible.
```c++
// Good: uses stack allocation and references
void showCard(const Card &card);
int main()
{
Card card;
showCard(card);
}
// Bad: relies on manual memory management and doesn't give us much
// null-safety.
void showCard(const Card *card);
int main()
{
Card *card = new Card;
showCard(card);
delete card;
}
```
(Remember to pass by `const` reference wherever possible, to avoid accidentally
mutating objects.)
When pointers can't be avoided, try to use a smart pointer of some sort, such
as `QScopedPointer`, or, less preferably, `QSharedPointer`.
### Database Migrations ###
The servatrice database's schema can be found at `servatrice/servatrice.sql`.
Everytime the schema gets modified, some other steps are due:
1. Increment the value of `cockatrice_schema_version` in `servatrice.sql`;
2. Increment the value of `DATABASE_SCHEMA_VERSION` in
`servatrice_database_interface.h` accordingly;
3. Create a new migration file inside the `servatrice/migrations` directory
named after the new schema version.
4. Run the `servatrice/check_schema_version.sh` script to ensure everything is
fine.
The migration file should include the sql statements needed to migrate the
database schema and data from the previous to the new version, and an
additional statement that updates `cockatrice_schema_version` to the correct
value.
Ensure that the migration produces the expected effects; e.g. if you add a
new column, make sure the migration places it in the same order as
servatrice.sql.
### Protocol Buffer ###
Cockatrice and Servatrice exchange data using binary messages. The syntax of
these messages is defined in the `proto` files in the `common/pb` folder. These
files define the way data contained in each message is serialized using
Google's [protocol buffers](https://developers.google.com/protocol-buffers/).
Any change to the `proto` files should be taken with caution and tested
intensively before being merged, because a change to the protocol could make
new clients incompatible to the old server and vice versa.
You can find more information on how we use Protobuf on [our wiki!](
https://github.com/Cockatrice/Cockatrice/wiki/Client-server-protocol)
# Reviewing Pull Requests #
After you have finished your changes to the project you should put them on a
separate branch of your fork on GitHub and open a [pull request](
https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request
).
Your code will then be automatically compiled by GitHub actions for Linux and
macOS, and by Appveyor for Windows. Additionally GitHub will perform a [Linting
check](#formatting-and-continuous-integration-ci). If any issues come up you
can check their status at the bottom of the pull request page, click on details
to go to the CI website and see the different build logs.
If your pull request passes our tests and has no merge conflicts, it will be
reviewed by our team members. You can then address any requested changes. When
all changes have been approved your pull request will be squashed into a single
commit and merged into the master branch by a team member. Your change will then
be included in the next release 👍
# Translations #
Basic workflow for translations:
1. Developer adds a `tr("foo")` string in the code;
2. CI updates the `*_en@source.ts files` regularly and creates a PR automatically;
3. Maintainer verifies and merges the change;
4. Transifex picks up the new files from GitHub automatically;
5. Translators translate the new untranslated strings on Transifex;
6. Before a release, a maintainer fetches the newest translations from Transifex.
### Using Translations (for developers) ###
All user interface strings inside Cockatrice's source code must be written
in English (US).
Translations to other languages are managed using [Transifex](
https://transifex.com/cockatrice/cockatrice/).
Adding a new string for translation is as easy as adding the string in the
`tr("")` function, the string will be picked up as translatable automatically
and translated as needed.
For example, setting the text of a label in the way that the string
`"My name is:"` can be translated:
```c++
nameLabel.setText(tr("My name is:"));
```
To translate a string that would have plural forms you can add the amount to
the tr() call, also you can add an extra string as a hint for translators:
```c++
QString message = tr("Everyone draws %n cards", "english hint for translators", amount);
```
See [Qt's wiki on translations](
https://doc.qt.io/qt-5/i18n-source-translation.html#handling-plurals)
If you're about to propose a change that adds or modifies any translatable
string in the code, you don't need to take care of adding the new strings to
the translation files.<br>
We have an automated process to update our language source files on a schedule
and provide the translators on Transifex with the new contents.<br>
Maintainers can also manually trigger this workflow on demand via GitHub Actions.
### Maintaining Translations (for maintainers) ###
When new translatable strings have been added to the code, a maintainer has to
make them available to translators on Transifex.
To help with that, we have an automated CI workflow, that regularly looks at the
code in the master branch, extracts all strings and updates dedicated source string
files with any changes. These updates are not commited right away, the CI creates a
PR for reviewing instead.<br>
After approval, our translation tool automatically picks the changes up and deploys
them to our translators. Be mindful when merging only a few changes!
Once a release is planned, or when a lot of strings have been added or changed, a
maintainer can manually trigger a CI run to extract all strings on demand.
<details>
<summary><b>Manually trigger CI run (Workflow Dispatch)</b></summary>
Maintainers can always request the CI to run on demand if it's required.
Go to the `Actions` tab and select our dedicated translation workflow:
https://github.com/Cockatrice/Cockatrice/actions/workflows/translations.yml
You see a "This workflow has a workflow_dispatch event trigger." hint at the top of
the list.<br>
Select `Run workflow` on the right and trigger a run from master branch.
The CI will now check for changed strings and create a PR if there are any updates.
</details>
<details>
<summary><b>Manually update source strings locally</b></summary>
To update the english source files for translation, re-run cmake enabling the appropriate
parameter and then run make:
```sh
cd cockatrice/build
cmake .. -DUPDATE_TRANSLATIONS=ON
make
```
If the parameter has been enabled correctly, when running "make" you should see
a line similar to this one (the numbers may vary):
```sh
[ 76%] Generating ../../cockatrice/translations/cockatrice_en@source.ts
Updating '../../cockatrice/translations/cockatrice_en@source.ts'...
Found 857 source text(s) (8 new and 849 already existing)
```
You should then notice that the following files have uncommitted changes:
cockatrice/translations/cockatrice_en@source.ts
oracle/translations/oracle_en@source.ts
It is recommended to disable the parameter afterwards using:
```sh
cmake .. -DUPDATE_TRANSLATIONS=OFF
```
Now you are ready to commit your changes and open a PR.
</details>
Once the changes get merged, Transifex will pick up the modified files
automatically (checked every few hours) and update the web editor where
translators will be able to translate the new strings right in the browser.
### Releasing Translations (for maintainers) ###
Before publishing a new release, a maintainer should fetch the most up to date
translations from Transifex and commit them into the Cockatrice source code.
We utilize the official GitHub integration to push all languages that are 100%
translated from Transifex to our GitHub repo automatically.
On top, it runs on a quarterly schedule to update changes for incomplete languages.
A synchronisation/update can also be triggered manually from the Transifex web interface
and a translation treshold can be set.
As an alternative, you can install the [Transifex CLI](https://developers.transifex.com/docs/cli).
You'll then be able to use a git-like cli command to push and pull translations
from Transifex to the source code and vice versa.
### Adding Translations (for translators) ###
As a translator, you can help to translate new strings on [Transifex](
https://www.transifex.com/projects/p/cockatrice/) to your native language.
Please have a look at the specific [FAQ for translators](
https://github.com/Cockatrice/Cockatrice/wiki/Translation-FAQ).
# Release Management #
### Publishing A New Release ###
We use [GitHub Releases](https://github.com/Cockatrice/Cockatrice/releases) to
publish new stable versions and beta releases.
Whenever a git tag is pushed to the repository, GitHub will create a draft
release and upload binaries from our CI automatically.
To create a tag, simply do the following:
```bash
git checkout master
git remote update -p
git pull
git tag $TAG_NAME
git push $UPSTREAM $TAG_NAME
```
You should define the variables as such:
- `$UPSTREAM`: the remote for `git@github.com:Cockatrice/Cockatrice.git`
- `$TAG_NAME` should be formatted as:
- `YYYY-MM-DD-Release-MAJ.MIN.PATCH` for **stable releases**
- `YYYY-MM-DD-Development-MAJ.MIN.PATCH-beta.X` for **beta releases**<br>
With <kbd>MAJ</kbd>.<kbd>MIN</kbd>.<kbd>PATCH</kbd> being the NEXT release version!
This will cause a tagged release to be established on the GitHub repository,
with the binaries being added to the release whenever they are done building in CI.
The release is initially a draft, where the release notes can be edited and after
all is checked and ready, it can be published as GitHub release.
If you use a SemVer tag including "beta", the release that will be created at
GitHub will be marked as a "Pre-release" automatically.
The target of the `.../latest` URL will not be changed in that case, it always
points to the latest stable release and not pre-releases/betas.
If you accidentally push a tag incorrectly (the tag is outdated, you didn't
pull in the latest branch accidentally, you named the tag wrong, etc.) you can
revoke the tag by doing the following:
```bash
git push --delete upstream $TAG_NAME
git tag -d $TAG_NAME
```
You can also do this on GitHub.
> [!NOTE]
> If you want to push a new release to replace it immediately with the same
> name you have to delete the automatically created release first!
In the first lines of [CMakeLists.txt](
https://github.com/Cockatrice/Cockatrice/blob/master/CMakeLists.txt)
there's an hardcoded version number and pretty name used when compiling from
master or custom (not tagged) versions.
While on tagged versions these numbers are overridden by the version numbers
coming from the tag title, it's good practice to increment the ones at CMake
after every full release to stress that master is ahead of the last stable
release.
The preferred flow of operation is:
- Just before a release, make sure the version number in CMakeLists.txt is set
to the same release version you are about to tag.
- This is also the time to change the pretty name in CMakeLists.txt called
`GIT_TAG_RELEASENAME` and commit and push these changes.
- Tag the release following the previously described syntax in order to get it
correctly built and deployed by CI.
- Wait for the configuration step to create the release and update the patch
notes.
- Check on the GitHub Actions page for build progress which should be the top
listed [here](
https://github.com/Cockatrice/Cockatrice/actions?query=event%3Apush+-branch%3Amaster
).
- When the build has been completed, you can verify if all uploaded files on the
draft release are included and hit the publish button.
- After the release is complete, update the CMake version number again to the
next targeted beta version, typically increasing `PROJECT_VERSION_PATCH` by
one.
When releasing a new stable version, all previous beta releases (and tags)
should be deleted as well.
This can be done the same way as revoking tags, mentioned above.
+12
View File
@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [ZeldaZach]
patreon: mtgjson
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ["paypal.me/zachhalpern"]
+44
View File
@@ -0,0 +1,44 @@
---
name: "🐛 Bug Report"
about: Report an issue encountered while using Cockatrice
title: ''
type: 'Bug'
labels: ''
assignees: ''
---
<!-- READ THIS BEFORE POSTING
In Cockatrice, go to "Help" → "View Debug Log" and copy all information displayed at the
top (above the separation line "----"), to below "System Information" section in this ticket!
If you can't start Cockatrice to access these details, make
sure to post your OS and the file name of the setup binary instead.
-->
**System Information:**
<!-- Read the hint above on where to find the important information to provide here! -->
<details><summary>Debug Log:</summary>
<!--
In Cockatrice, go to "Help" → "View Debug Log", click the "Copy to clickboard" button and paste the output here.
-->
</details>
_______________________________________________________________________________________
<!-- Explain your issue in detail here! Please attach screenshots if possible. -->
_______________________________________________________________________________________
<!-- Describe the sequence of actions needed to experience the bug. -->
**Steps to reproduce:**
- Do A
- Do B
- Do C ...
+12
View File
@@ -0,0 +1,12 @@
blank_issues_enabled: false
contact_links:
- name: 💬 Discord Community (Get help with server issues, e.g. Login)
url: https://discord.com/invite/3Z9yzmA
about: Need help with using the client? Want to find some games? Try the Discord server!
- name: 🌐 Translations (Help improve the localization of the app)
url: https://explore.transifex.com/cockatrice/cockatrice/
# it is not possible to add a link to the wiki to this description
about: For more information and guidance check our Translation FAQ on our wiki!
- name: 📖 Code Documentation
url: https://cockatrice.github.io/docs/
about: Helpful source focusing on developers, but there are also references for users!
+24
View File
@@ -0,0 +1,24 @@
---
name: "💡 Feature Request"
about: Request a new feature for Cockatrice
title: ''
type: 'Feature'
labels: ''
assignees: ''
---
<!--
Please search the issue tracker for similar issues before posting!
If your request is related to another request (but not the same!) list it here
-->
**Similar Requests**
<!-- Describe your feature idea here in detail -->
**Description of New Feature**
<!-- If your feature requires some context, provide it here -->
**Additional Context**
+12
View File
@@ -0,0 +1,12 @@
## Related Ticket(s)
- Fixes #IssueNumber
## Short roundup of the initial problem
## What will change with this Pull Request?
- this
- and this
## Screenshots
<!-- simply drag & drop image files directly into this description! -->
+41
View File
@@ -0,0 +1,41 @@
# Configuration options: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Enable version updates for git submodules
# If SemVer is used, updates will happen to new releases only (not HEAD)
# https://github.com/dependabot/dependabot-core/issues/1639
# https://github.com/dependabot/dependabot-core/issues/2192
- package-ecosystem: "gitsubmodule"
# Look for `.gitmodules` in the `root` directory
directory: "/"
ignore:
# Ignore updates for vcpkg (Bump to latest tag not working (no SemVer used)
- dependency-name: "vcpkg"
# Check for updates once a month
schedule:
interval: "monthly"
# Limit the amout of open PR's (default = 5, disabled = 0, security updates are not impacted)
open-pull-requests-limit: 2
# # Enable version updates for Docker
# Not yet possible to bump from one LTS version to the next and skip others, see:
# https://github.com/dependabot/dependabot-core/issues/2247
# - package-ecosystem: "docker"
# # Look for a `Dockerfile` in the `root` directory
# directory: "/"
# # Check for updates once a week
# schedule:
# interval: "weekly"
# # Limit the amout of open PR's (default = 5, disabled = 0, security updates are not impacted)
# open-pull-requests-limit: 1
# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
# Directory must be set to "/" to check for workflow files in .github/workflows
directory: "/"
# Check for updates to GitHub Actions once a week
schedule:
interval: "weekly"
# Limit the amout of open PR's (default = 5, disabled = 0, security updates are not impacted)
open-pull-requests-limit: 2
+566
View File
@@ -0,0 +1,566 @@
name: Build Desktop
permissions:
actions: write # needed to delete entries in GHA cache (update ccache)
attestations: write # needed to persist the attestation.
contents: write
id-token: write # needed for signing certificate in attestation
on:
push:
branches:
- master
paths:
- '*/**' # matches all files not in root
- '!**.md'
- '!.github/**'
- '!.tx/**'
- '!doc/**'
- '.github/workflows/desktop-build.yml'
- 'CMakeLists.txt'
- 'vcpkg.json'
- 'vcpkg' # needed to match submodule bumps (gitlink)
tags:
- '*'
pull_request:
paths:
- '*/**' # matches all files not in root
- '!**.md'
- '!.github/**'
- '!.tx/**'
- '!doc/**'
- '.github/workflows/desktop-build.yml'
- 'CMakeLists.txt'
- 'vcpkg.json'
- 'vcpkg' # needed to match submodule bumps (gitlink)
# Cancel earlier, unfinished runs of this workflow on the same branch (unless on release)
concurrency:
group: "${{ github.workflow }} @ ${{ github.ref_name }}"
cancel-in-progress: ${{ github.ref_type != 'tag' }}
jobs:
configure:
name: Configure
runs-on: ubuntu-slim
outputs:
tag: ${{ steps.configure.outputs.tag }}
sha: ${{ steps.configure.outputs.sha }}
steps:
- name: "Configure"
env:
RESOLVED_SHA: ${{ case(github.event_name == 'pull_request', github.event.pull_request.head.sha, github.sha) }}
id: configure
shell: bash
run: |
if [[ "$GITHUB_REF_TYPE" == 'tag' ]]; then # release
echo "tag=$GITHUB_REF_NAME" >> "$GITHUB_OUTPUT"
fi
echo "sha=$RESOLVED_SHA" >> "$GITHUB_OUTPUT"
- name: "Checkout"
if: steps.configure.outputs.tag != null
uses: actions/checkout@v7
with:
fetch-depth: 0 # fetch all history for all branches and tags
- name: "Prepare release parameters"
id: prepare
if: steps.configure.outputs.tag != null
shell: bash
env:
TAG: ${{ steps.configure.outputs.tag }}
run: .ci/prep_release.sh
- name: "Create release"
if: steps.configure.outputs.tag != null
id: create_release
shell: bash
env:
GH_TOKEN: ${{ github.token }}
tag_name: ${{ steps.configure.outputs.tag }}
target: ${{ steps.configure.outputs.sha }}
release_name: ${{ steps.prepare.outputs.title }}
body_path: ${{ steps.prepare.outputs.body_path }}
prerelease: ${{ steps.prepare.outputs.is_beta }}
run: |
args=()
[[ $prerelease == yes ]] && args+=(--prerelease)
gh release create "$tag_name" --verify-tag --draft "${args[@]}" \
--target "$target" \
--title "$release_name" \
--notes-file "$body_path"
build-linux:
strategy:
fail-fast: false
matrix:
# The files in ".ci/$distro$version" correspond to the values given here
include:
- distro: Arch
allow-failure: yes
package: skip # We are packaged in Arch already
- distro: Servatrice_Debian
version: 12
package: DEB
server_only: yes
test: skip
- distro: Debian
version: 12
package: DEB
test: skip # Running tests on all distros is superfluous
- distro: Debian
version: 13
package: DEB
- distro: Fedora
version: 43
package: RPM
test: skip # Running tests on all distros is superfluous
- distro: Fedora
version: 44
package: RPM
- distro: Ubuntu
version: 24.04
package: DEB
test: skip # Running tests on all distros is superfluous
- distro: Ubuntu
version: 26.04
package: DEB
name: ${{ matrix.distro }} ${{ matrix.version }}
needs: configure
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allow-failure == 'yes' }}
timeout-minutes: 70
env:
CACHE: ${{ github.workspace }}/.cache/${{ matrix.distro }}${{ matrix.version }} # directory for caching docker image and ccache
CCACHE_EVICTION_AGE: 7d
CCACHE_SIZE: 550M # space of all repo is 10Gi: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
CMAKE_GENERATOR: 'Ninja'
NAME: ${{ matrix.distro }}${{ matrix.version }}
steps:
- name: "Checkout"
uses: actions/checkout@v7
- name: "Restore compiler cache (ccache)"
id: ccache_restore
uses: actions/cache/restore@v6
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
with:
key: ccache-${{ matrix.distro }}${{ matrix.version }}-${{ env.BRANCH_NAME }}
path: ${{ env.CACHE }}
restore-keys: ccache-${{ matrix.distro }}${{ matrix.version }}-
- name: "Build ${{ matrix.distro }} ${{ matrix.version }} Docker image"
shell: bash
run: source .ci/docker.sh --build
- name: "Build debug and test"
if: matrix.test != 'skip'
shell: bash
run: |
source .ci/docker.sh
RUN --server --debug --test --ccache "$CCACHE_SIZE" \
--cmake-generator "$CMAKE_GENERATOR"
- name: "Build release package"
id: build
if: matrix.package != 'skip'
shell: bash
env:
SUFFIX: '-${{ matrix.distro }}${{ matrix.version }}'
package: '${{ matrix.package }}'
server_only: '${{ matrix.server_only }}'
run: |
source .ci/docker.sh
args=()
[[ $server_only == yes ]] && args+=(--no-client)
[[ $GITHUB_REF == "refs/heads/master" ]] && args+=(--evict-ccache "$CCACHE_EVICTION_AGE")
args+=(--ccache "$CCACHE_SIZE")
args+=(--cmake-generator "$CMAKE_GENERATOR")
args+=(--suffix "$SUFFIX")
RUN --server --release --package "$package" "${args[@]}"
# Delete used cache to emulate a ccache update. See https://github.com/actions/cache/issues/342
- name: "Delete remote compiler cache (ccache)"
if: github.ref == 'refs/heads/master' && steps.ccache_restore.outputs.cache-hit
continue-on-error: true
env:
CACHE_PRIMARY_KEY: ${{ steps.ccache_restore.outputs.cache-primary-key }}
GH_TOKEN: ${{ github.token }}
run: |
if gh cache delete --repo "$GITHUB_REPOSITORY" "$CACHE_PRIMARY_KEY"; then
echo "Cache deleted successfully"
fi
- name: "Save updated compiler cache (ccache)"
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@v6
with:
key: ${{ steps.ccache_restore.outputs.cache-primary-key }}
path: ${{ env.CACHE }}
- name: "Upload artifact"
id: upload_artifact
if: matrix.package != 'skip'
uses: actions/upload-artifact@v7
with:
archive: false
if-no-files-found: error
path: ${{ steps.build.outputs.path }}
- name: "Upload to release"
id: upload_release
if: matrix.package != 'skip' && needs.configure.outputs.tag != null
shell: bash
env:
asset_name: ${{ steps.build.outputs.fullname }}
asset_path: ${{ steps.build.outputs.path }}
GH_TOKEN: ${{ github.token }}
tag_name: ${{ needs.configure.outputs.tag }}
run: gh release upload "$tag_name" "$asset_path#$asset_name"
- name: "Attest binary provenance"
id: attestation
if: steps.upload_release.outcome == 'success'
uses: actions/attest@v4
with:
show-summary: false
subject-path: ${{ steps.build.outputs.path }}
- name: "Verify binary attestation"
if: steps.attestation.outcome == 'success'
shell: bash
env:
BUILD_PATH: ${{ steps.build.outputs.path }}
GH_TOKEN: ${{ github.token }}
run: gh attestation verify "$BUILD_PATH" --repo Cockatrice/Cockatrice
build-vcpkg:
strategy:
fail-fast: false
matrix:
include:
- os: macOS
target: 13
runner: macos-15-intel
ccache_eviction_age: 7d
cmake_generator: Ninja
make_package: 1
override_target: 13
package_suffix: "-macOS13_Intel"
qt_version: 6.11.0
qt_modules: qtimageformats qtmultimedia qtwebsockets
soc: Intel
type: Release
use_ccache: 1
xcode: "16.4"
- os: macOS
target: 14
runner: macos-14
ccache_eviction_age: 7d
cmake_generator: Ninja
make_package: 1
package_suffix: "-macOS14"
qt_version: 6.11.0
qt_modules: qtimageformats qtmultimedia qtwebsockets
soc: Apple
type: Release
use_ccache: 1
xcode: "15.4"
- os: macOS
target: 15
runner: macos-15
ccache_eviction_age: 7d
cmake_generator: Ninja
make_package: 1
package_suffix: "-macOS15"
qt_version: 6.11.0
qt_modules: qtimageformats qtmultimedia qtwebsockets
soc: Apple
type: Release
use_ccache: 1
xcode: "16.4"
- os: macOS
target: 15
runner: macos-15
ccache_eviction_age: 7d
cmake_generator: Ninja
qt_version: 6.11.0
qt_modules: qtimageformats qtmultimedia qtwebsockets
soc: Apple
type: Debug
use_ccache: 1
xcode: "16.4"
- os: Windows
target: 10
runner: windows-2025
cmake_generator: "Visual Studio 18 2026"
cmake_generator_platform: x64
make_package: 1
package_suffix: "-Win10"
qt_version: 6.11.0
qt_modules: qtimageformats qtmultimedia qtwebsockets
type: Release
name: ${{ matrix.os }} ${{ matrix.target }}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }}
needs: configure
runs-on: ${{ matrix.runner }}
timeout-minutes: 100
env:
CCACHE_DIR: ${{ github.workspace }}/.cache/
CCACHE_SIZE: 550M # space of all repo is 10Gi: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
steps:
- name: "Checkout"
uses: actions/checkout@v7
with:
submodules: recursive
- name: "[Windows] Add msbuild to PATH"
if: matrix.os == 'Windows'
id: add-msbuild
uses: microsoft/setup-msbuild@v3
with:
msbuild-architecture: x64
- name: "[macOS] Setup ccache"
if: matrix.os == 'macOS' && matrix.use_ccache == 1
run: brew install ccache
- name: "[macOS] Restore compiler cache (ccache)"
if: matrix.os == 'macOS' && matrix.use_ccache == 1
id: ccache_restore
uses: actions/cache/restore@v6
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
with:
key: ccache-${{ matrix.runner }}-${{ matrix.soc }}-${{ matrix.type }}-${{ env.BRANCH_NAME }}
path: ${{ env.CCACHE_DIR }}
restore-keys: ccache-${{ matrix.runner }}-${{ matrix.soc }}-${{ matrix.type }}-
- name: "Install aqtinstall"
run: pipx install aqtinstall
# Resolve given wildcard versions (e.g. Qt 6.6.*) to latest version via aqtinstall to avoid stale caches on new releases
- name: "Resolve latest Qt patch version"
env:
QT_VERSION: ${{ matrix.qt_version }}
id: resolve_qt_version
shell: bash
run: .ci/resolve_latest_aqt_qt_version.sh "$QT_VERSION"
- name: "[macOS] Restore thin Qt ${{ steps.resolve_qt_version.outputs.version }} libraries"
if: matrix.os == 'macOS'
id: restore_qt
uses: actions/cache/restore@v6
with:
key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }}
path: ${{ github.workspace }}/Qt
# Using jurplel/install-qt-action to install Qt without using brew
# Qt build using vcpkg either just fails or takes too long to build
- name: "[macOS] Install fat Qt ${{ steps.resolve_qt_version.outputs.version }}"
if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true'
uses: jurplel/install-qt-action@v4
with:
cache: false
dir: ${{ github.workspace }}
modules: ${{ matrix.qt_modules }}
version: ${{ steps.resolve_qt_version.outputs.version }}
- name: "[macOS] Create thin Qt libraries"
if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true'
run: .ci/thin_macos_qtlib.sh
- name: "[macOS] Cache thin Qt libraries"
if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true'
uses: actions/cache/save@v6
with:
key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }}
path: ${{ github.workspace }}/Qt
- name: "[Windows] Install Qt ${{ matrix.qt_version }}"
if: matrix.os == 'Windows'
uses: jurplel/install-qt-action@v4
with:
# Qt 6.11.0 only works with aqtinstall directly from git until aqtinstall 3.4 is released
aqtsource: git+https://github.com/miurahr/aqtinstall.git
cache: true
modules: ${{ matrix.qt_modules }}
version: ${{ steps.resolve_qt_version.outputs.version }}
- name: "[Windows] Install NSIS"
if: matrix.os == 'Windows'
shell: bash
run: choco install nsis
- name: "Setup vcpkg cache"
id: vcpkg-cache
uses: TAServers/vcpkg-cache@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Uses environment variables, see compile.sh for more details
- name: "Build Cockatrice"
id: build
shell: bash
env:
BUILDTYPE: '${{ matrix.type }}'
CCACHE_EVICTION_AGE: ${{ matrix.ccache_eviction_age }}
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}
CMAKE_GENERATOR_PLATFORM: ${{ matrix.cmake_generator_platform }}
DEVELOPER_DIR: '/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer'
MACOS_CERTIFICATE: ${{ secrets.PROD_MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_NAME: ${{ secrets.PROD_MACOS_CERTIFICATE_NAME }}
MACOS_CERTIFICATE_PWD: ${{ secrets.PROD_MACOS_CERTIFICATE_PWD }}
MACOS_CI_KEYCHAIN_PWD: ${{ secrets.PROD_MACOS_CI_KEYCHAIN_PWD }}
MAKE_PACKAGE: '${{ matrix.make_package }}'
PACKAGE_SUFFIX: '${{ matrix.package_suffix }}'
TARGET_MACOS_VERSION: ${{ matrix.override_target }}
USE_CCACHE: ${{ matrix.use_ccache }}
VCPKG_BINARY_SOURCES: 'clear;files,${{ steps.vcpkg-cache.outputs.path }},readwrite'
VCPKG_DISABLE_METRICS: 1
run: .ci/compile.sh --server --test --vcpkg
# Delete used cache to emulate a ccache update. See https://github.com/actions/cache/issues/342
- name: "[macOS] Delete remote compiler cache (ccache)"
if: matrix.os == 'macOS' && matrix.use_ccache == 1 && github.ref == 'refs/heads/master' && steps.ccache_restore.outputs.cache-hit
continue-on-error: true
env:
CACHE_PRIMARY_KEY: ${{ steps.ccache_restore.outputs.cache-primary-key }}
GH_TOKEN: ${{ github.token }}
run: |
if gh cache delete --repo "$GITHUB_REPOSITORY" "$CACHE_PRIMARY_KEY"; then
echo "Cache deleted successfully"
fi
- name: "[macOS] Save updated compiler cache (ccache)"
if: matrix.os == 'macOS' && matrix.use_ccache == 1 && github.ref == 'refs/heads/master'
uses: actions/cache/save@v6
with:
key: ${{ steps.ccache_restore.outputs.cache-primary-key }}
path: ${{ env.CCACHE_DIR }}
- name: "[macOS] Sign app bundle"
if: matrix.os == 'macOS' && matrix.make_package && needs.configure.outputs.tag != null
id: sign_macos
env:
BUILD_PATH: ${{ steps.build.outputs.path }}
MACOS_CERTIFICATE_NAME: ${{ secrets.PROD_MACOS_CERTIFICATE_NAME }}
MACOS_CI_KEYCHAIN_PWD: ${{ secrets.PROD_MACOS_CI_KEYCHAIN_PWD }}
run: |
if [[ -n "$MACOS_CERTIFICATE_NAME" ]]
then
security unlock-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain
/usr/bin/codesign --sign="$MACOS_CERTIFICATE_NAME" --entitlements=".ci/macos.entitlements" --options=runtime --force --deep --timestamp --verbose "$BUILD_PATH"
fi
- name: "[macOS] Notarize app bundle"
if: matrix.os == 'macOS' && steps.sign_macos.outcome == 'success'
env:
BUILD_PATH: ${{ steps.build.outputs.path }}
MACOS_NOTARIZATION_APPLE_ID: ${{ secrets.PROD_MACOS_NOTARIZATION_APPLE_ID }}
MACOS_NOTARIZATION_PWD: ${{ secrets.PROD_MACOS_NOTARIZATION_PWD }}
MACOS_NOTARIZATION_TEAM_ID: ${{ secrets.PROD_MACOS_NOTARIZATION_TEAM_ID }}
run: |
if [[ -n "$MACOS_NOTARIZATION_APPLE_ID" ]]
then
# Store the notarization credentials so that we can prevent a UI password dialog from blocking the CI
echo "Create keychain profile"
xcrun notarytool store-credentials "notarytool-profile" --apple-id "$MACOS_NOTARIZATION_APPLE_ID" --team-id "$MACOS_NOTARIZATION_TEAM_ID" --password "$MACOS_NOTARIZATION_PWD"
# We can't notarize an app bundle directly, but we need to compress it as an archive.
# Therefore, we create a zip file containing our app bundle, so that we can send it to the
# notarization service
echo "Creating temp notarization archive"
ditto -c -k --keepParent "$BUILD_PATH" "notarization.zip"
# Here we send the notarization request to the Apple's Notarization service, waiting for the result.
# This typically takes a few seconds inside a CI environment, but it might take more depending on the App
# characteristics. Visit the Notarization docs for more information and strategies on how to optimize it if
# you're curious
echo "Notarize app"
xcrun notarytool submit "notarization.zip" --keychain-profile "notarytool-profile" --wait
# Finally, we need to "attach the staple" to our executable, which will allow our app to be
# validated by macOS even when an internet connection is not available.
echo "Attach staple"
xcrun stapler staple "$BUILD_PATH"
fi
- name: "Upload artifact"
if: matrix.make_package
id: upload_artifact
uses: actions/upload-artifact@v7
with:
archive: false
if-no-files-found: error
path: ${{ steps.build.outputs.path }}
- name: "[Windows] Upload PDBs (Program Databases)"
if: matrix.os == 'Windows' && github.ref_type != 'tag'
uses: actions/upload-artifact@v7
with:
if-no-files-found: error
name: ${{ steps.build.outputs.name }}-PDBs
path: |
build/cockatrice/Release/*.pdb
build/oracle/Release/*.pdb
build/servatrice/Release/*.pdb
- name: "Upload to release"
if: needs.configure.outputs.tag != null && matrix.make_package == '1'
id: upload_release
shell: bash
env:
asset_name: ${{ steps.build.outputs.fullname }}
asset_path: ${{ steps.build.outputs.path }}
GH_TOKEN: ${{ github.token }}
tag_name: ${{ needs.configure.outputs.tag }}
run: gh release upload "$tag_name" "$asset_path#$asset_name"
- name: "Attest binary provenance"
if: steps.upload_release.outcome == 'success'
id: attestation
uses: actions/attest@v4
with:
show-summary: false
subject-path: ${{ steps.build.outputs.path }}
- name: "Verify binary attestation"
if: steps.attestation.outcome == 'success'
shell: bash
env:
BUILD_PATH: ${{ steps.build.outputs.path }}
GH_TOKEN: ${{ github.token }}
run: gh attestation verify "$BUILD_PATH" --repo Cockatrice/Cockatrice
+40
View File
@@ -0,0 +1,40 @@
name: Code Style (C++)
on:
# Push trigger not needed for linting, we do not allow direct pushes to master
pull_request:
paths:
- '*/**' # matches all files not in root
- '!**.md'
- '!.ci/**'
- '!.github/**'
- '!.tx/**'
- '!doc/**'
- '.ci/lint_cpp.sh'
- '.github/workflows/desktop-lint.yml'
- '.clang-format'
- '.cmake-format.json'
- 'format.sh'
jobs:
format:
runs-on: ubuntu-slim
steps:
- name: "Checkout"
uses: actions/checkout@v7
with:
fetch-depth: 20 # should be enough to find merge base
- name: "Install dependencies"
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
clang-format \
cmake-format \
shellcheck
- name: "Check code formatting"
shell: bash
run: ./.ci/lint_cpp.sh
+78
View File
@@ -0,0 +1,78 @@
name: Build Docker Image
permissions:
contents: read
packages: write
on:
push:
branches:
- master
pull_request:
branches:
- master
paths:
- '.github/workflows/docker-release.yml'
- 'Dockerfile'
release:
types:
- released # publishing of stable releases
# Cancel earlier, unfinished runs of this workflow on the same branch (unless on release)
concurrency:
group: "${{ github.workflow }} @ ${{ github.ref_name }}"
cancel-in-progress: ${{ github.event_name != 'release' }}
jobs:
docker:
name: amd64 & arm64
if: ${{ github.repository_owner == 'Cockatrice' }}
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@v7
- name: "Docker metadata"
id: metadata
uses: docker/metadata-action@v6
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: index # needed for GHCR
with:
annotations: |
org.opencontainers.image.title=Servatrice
org.opencontainers.image.url=https://cockatrice.github.io/
org.opencontainers.image.description=Server for Cockatrice, a cross-platform virtual tabletop for multiplayer card games
images: |
ghcr.io/cockatrice/servatrice
labels: |
org.opencontainers.image.title=Servatrice
org.opencontainers.image.url=https://cockatrice.github.io/
org.opencontainers.image.description=Server for Cockatrice, a cross-platform virtual tabletop for multiplayer card games
- name: "Set up QEMU"
uses: docker/setup-qemu-action@v4
- name: "Set up Docker buildx"
uses: docker/setup-buildx-action@v4
- name: "Login to GitHub Container Registry (GHCR)"
if: github.event_name == 'release' && github.event.release.prerelease == false
id: login
uses: docker/login-action@v4
with:
password: ${{ github.token }}
registry: ghcr.io
username: ${{ github.actor }}
- name: "Build and push Docker image"
uses: docker/build-push-action@v7
with:
annotations: ${{ steps.metadata.outputs.annotations }}
cache-from: type=gha,scope=servatrice
cache-to: type=gha,mode=max,scope=servatrice
context: .
labels: ${{ steps.metadata.outputs.labels }}
platforms: linux/amd64,linux/arm64
push: ${{ steps.login.outcome == 'success' }}
tags: ${{ steps.metadata.outputs.tags }}
+63
View File
@@ -0,0 +1,63 @@
name: Generate Docs
on:
pull_request:
paths:
- 'doc/doxygen/**'
- '.github/workflows/documentation-build.yml'
- 'Doxyfile'
release:
types:
- published # publishing of stable releases and pre-releases
workflow_dispatch:
env:
COCKATRICE_REF: ${{ github.ref_name }} # tag name if the commit is tagged, otherwise branch name
jobs:
docs:
name: Doxygen
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@v7
with:
submodules: recursive
- name: "Install Graphviz"
run: |
sudo apt-get install -y graphviz
dot -V
- name: "Install Doxygen"
uses: ssciwr/doxygen-install@v2
with:
version: "1.16.1"
- name: "Update Doxygen Configuration"
run: |
git diff Doxyfile
doxygen -u Doxyfile
if git diff --quiet Doxyfile; then
echo "::notice::No config changes in Doxyfile detected."
else
echo "::error::Config changes in Doxyfile detected! Please update the file by running 'doxygen -u Doxyfile'."
echo ""
git diff --color=always Doxyfile
exit 1
fi
- name: "Generate Documentation"
if: always()
run: doxygen Doxyfile
- name: "Deploy to cockatrice.github.io"
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
uses: peaceiris/actions-gh-pages@v4
with:
deploy_key: ${{ secrets.DOCS_DEPLOY_KEY }}
destination_dir: docs # docs will be available at https://cockatrice.github.io/docs/
external_repository: Cockatrice/cockatrice.github.io
publish_branch: master
publish_dir: ./docs/html
+71
View File
@@ -0,0 +1,71 @@
name: Update Translations
on:
pull_request:
paths:
- '.tx/**'
- '.github/workflows/translations-pull.yml'
schedule:
# Runs in the middle of each month starting a quarter (UTC) = two weeks after new strings are built
- cron: '0 0 15 1,4,7,10 *'
workflow_dispatch:
jobs:
translations:
# Do not run the scheduled workflow on forks
if: github.event_name != 'schedule' || github.repository_owner == 'Cockatrice'
name: Pull languages
runs-on: ubuntu-slim
steps:
- name: "Checkout repo"
uses: actions/checkout@v7
- name: "Pull translated strings from Transifex"
# Do not run this step for PR's from forks, they don't have access to the secret
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false
uses: transifex/cli-action@v2
with:
# Used config file: https://github.com/Cockatrice/Cockatrice/blob/master/.tx/config
# Docs: https://github.com/transifex/cli#pulling-files-from-transifex
args: pull --force --all
token: ${{ secrets.TX_TOKEN }}
- name: "Create pull request"
if: github.event_name != 'pull_request'
id: create_pr
uses: peter-evans/create-pull-request@v8
with:
add-paths: |
cockatrice/translations/*.ts
oracle/translations/*.ts
author: github-actions <github-actions@github.com> # owner of the commit
body: |
Pulled all translated strings from [Transifex][1].
---
*This PR is automatically generated and updated by the workflow at `.github/workflows/translations-pull.yml`. Review [action runs][2].*<br>
*After merging, all new languages and translations are available in the next build.*
[1]: https://explore.transifex.com/cockatrice/cockatrice/
[2]: https://github.com/Cockatrice/Cockatrice/actions/workflows/translations-pull.yml?query=branch%3Amaster
branch: ci-update_translations
commit-message: Update translation files
delete-branch: true
draft: false
labels: |
CI
Translation
title: 'Update translations'
- name: "PR Status"
if: github.event_name != 'pull_request'
shell: bash
env:
PR_NUMBER: ${{ steps.create_pr.outputs.pull-request-number }}
PR_URL: ${{ steps.create_pr.outputs.pull-request-url }}
STATUS: ${{ case(steps.create_pr.outputs.pull-request-operation == 'none', 'unchanged', steps.create_pr.outputs.pull-request-operation) }}
run: |
echo "PR #$PR_NUMBER $STATUS!" >> "$GITHUB_STEP_SUMMARY"
echo "URL: $PR_URL" >> "$GITHUB_STEP_SUMMARY"
+86
View File
@@ -0,0 +1,86 @@
name: Update Translation Source
on:
pull_request:
paths:
- '.ci/update_translation_source_strings.sh'
- '.github/workflows/translations-push.yml'
schedule:
# Runs at the start of each quarter (UTC)
- cron: '0 0 1 1,4,7,10 *'
workflow_dispatch:
jobs:
translations:
# Do not run the scheduled workflow on forks
if: github.event_name != 'schedule' || github.repository_owner == 'Cockatrice'
name: Push strings
runs-on: ubuntu-slim
steps:
- name: "Checkout repo"
uses: actions/checkout@v7
- name: "Install lupdate"
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends qttools5-dev-tools
- name: "Update Cockatrice translation source"
env:
FILE: cockatrice/cockatrice_en@source.ts
id: cockatrice
shell: bash
run: >
DIRS="cockatrice/src $(find . -maxdepth 1 -type d -name 'libcockatrice_*')"
.ci/update_translation_source_strings.sh
- name: "Update Oracle translation source"
id: oracle
shell: bash
env:
DIRS: 'oracle/src'
FILE: 'oracle/oracle_en@source.ts'
run: .ci/update_translation_source_strings.sh
- name: "Render template"
id: template
uses: chuhlomin/render-template/binary@v1
with:
template: .ci/update_translation_source_strings_template.md
vars: |
cockatrice_output: ${{ steps.cockatrice.outputs.output }}
oracle_output: ${{ steps.oracle.outputs.output }}
commit: ${{ github.sha }}
- name: "Create pull request"
if: github.event_name != 'pull_request'
id: create_pr
uses: peter-evans/create-pull-request@v8
with:
add-paths: |
cockatrice/cockatrice_en@source.ts
oracle/oracle_en@source.ts
author: github-actions <github-actions@github.com> # owner of the commit
body: ${{ steps.template.outputs.result }}
branch: ci-update_translation_source
commit-message: Update translation source strings
delete-branch: true
draft: false
labels: |
CI
Translation
title: 'Update source strings'
- name: "PR Status"
if: github.event_name != 'pull_request'
shell: bash
env:
PR_NUMBER: ${{ steps.create_pr.outputs.pull-request-number }}
PR_URL: ${{ steps.create_pr.outputs.pull-request-url }}
STATUS: ${{ case(steps.create_pr.outputs.pull-request-operation == 'none', 'unchanged', steps.create_pr.outputs.pull-request-operation) }}
run: |
echo "PR #$PR_NUMBER $STATUS!" >> "$GITHUB_STEP_SUMMARY"
echo "URL: $PR_URL" >> "$GITHUB_STEP_SUMMARY"
+6
View File
@@ -0,0 +1,6 @@
[submodule "vcpkg"]
path = vcpkg
url = https://github.com/microsoft/vcpkg.git
[submodule "doxygen-awesome-css"]
path = doc/doxygen/theme
url = https://github.com/jothepro/doxygen-awesome-css.git
+18
View File
@@ -0,0 +1,18 @@
[main]
host = https://app.transifex.com
[o:cockatrice:p:cockatrice:r:cockatrice-cockatrice-en-source-ts--master]
resource_name = Cockatrice
source_lang = en
source_file = cockatrice/cockatrice_en@source.ts
file_filter = cockatrice/translations/cockatrice_<lang>.ts
type = QT
minimum_perc = 10
[o:cockatrice:p:cockatrice:r:oracle-oracle-en-source-ts--master]
resource_name = Oracle
source_lang = en
source_file = oracle/oracle_en@source.ts
file_filter = oracle/translations/oracle_<lang>.ts
type = QT
minimum_perc = 10
+373
View File
@@ -0,0 +1,373 @@
# Cockatrice's main CMakeLists.txt
#
# This is basically a wrapper to enable/disable the compilation
# of the different projects: servatrice, cockatrice, test
# This file sets all the variables shared between the projects
# like the installation path, compilation flags etc..
# cmake 3.16 is required if using qt6
cmake_minimum_required(VERSION 3.10)
# Early detect ccache
option(USE_CCACHE "Cache the build results with ccache" ON)
# Treat warnings as errors (Debug builds only)
option(WARNING_AS_ERROR "Treat warnings as errors in debug builds" ON)
# Check for translation updates
option(UPDATE_TRANSLATIONS "Update translations on compile" OFF)
# Compile servatrice
option(WITH_SERVER "build servatrice" OFF)
# Compile cockatrice
option(WITH_CLIENT "build cockatrice" ON)
# Compile oracle
option(WITH_ORACLE "build oracle" ON)
# Compile tests
option(TEST "build tests" OFF)
# Use vcpkg regardless of OS
option(USE_VCPKG "Use vcpkg regardless of OS" OFF)
# Default to "Release" build type
# User-provided value for CMAKE_BUILD_TYPE must be checked before the PROJECT() call
if(DEFINED CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE
${CMAKE_BUILD_TYPE}
CACHE STRING "Type of build"
)
else()
set(CMAKE_BUILD_TYPE
Release
CACHE STRING "Type of build"
)
endif()
if(USE_CCACHE)
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
# Support Unix Makefiles and Ninja
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
message(STATUS "Found CCache ${CCACHE_PROGRAM}")
endif()
endif()
if(WIN32 OR USE_VCPKG)
# Use vcpkg toolchain on Windows (and on macOS in CI)
set(CMAKE_TOOLCHAIN_FILE
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
CACHE STRING "Vcpkg toolchain file"
)
# Qt path set by user or env var
if(QTDIR
OR DEFINED ENV{QTDIR}
OR DEFINED ENV{QTDIR32}
OR DEFINED ENV{QTDIR64}
)
else()
set(QTDIR
""
CACHE PATH "Path to Qt (e.g. C:/Qt/5.7/msvc2015_64)"
)
message(
WARNING "QTDIR variable is missing. Please set this variable to specify path to Qt (e.g. C:/Qt/5.7/msvc2015_64)"
)
endif()
endif()
# A project name is needed for CPack
# Version can be overriden by git tags, see cmake/getversion.cmake
project("Cockatrice" VERSION 3.1.0)
# Set release name if not provided via env/cmake var
if(NOT DEFINED GIT_TAG_RELEASENAME)
set(GIT_TAG_RELEASENAME "Graduation Day")
endif()
# Use c++20 for all targets
set(CMAKE_CXX_STANDARD
20
CACHE STRING "C++ ISO Standard"
)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# Set conventional loops
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
# Search path for cmake modules
set(COCKATRICE_CMAKE_PATH "${PROJECT_SOURCE_DIR}/cmake")
list(INSERT CMAKE_MODULE_PATH 0 "${COCKATRICE_CMAKE_PATH}")
include(getversion)
# Create a header and a cpp file containing the version hash
include(createversionfile)
# Define a proper install path
if(UNIX)
if(APPLE)
# macOS
# Due to the special bundle structure ignore
# the prefix eventually set by the user.
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/release)
# Force ccache usage if available
get_property(RULE_LAUNCH_COMPILE GLOBAL PROPERTY RULE_LAUNCH_COMPILE)
if(RULE_LAUNCH_COMPILE)
message(STATUS "Force enabling CCache usage under macOS")
# Set up wrapper scripts
configure_file("${COCKATRICE_CMAKE_PATH}/launch-c.in" launch-c)
configure_file("${COCKATRICE_CMAKE_PATH}/launch-cxx.in" launch-cxx)
execute_process(COMMAND chmod a+rx "${CMAKE_BINARY_DIR}/launch-c" "${CMAKE_BINARY_DIR}/launch-cxx")
# Set Xcode project attributes to route compilation through our scripts
set(CMAKE_XCODE_ATTRIBUTE_CC "${CMAKE_BINARY_DIR}/launch-c")
set(CMAKE_XCODE_ATTRIBUTE_CXX "${CMAKE_BINARY_DIR}/launch-cxx")
set(CMAKE_XCODE_ATTRIBUTE_LD "${CMAKE_BINARY_DIR}/launch-c")
set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CMAKE_BINARY_DIR}/launch-cxx")
endif()
else()
# Linux / BSD
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
#fix package build
if(PREFIX)
set(CMAKE_INSTALL_PREFIX ${PREFIX})
else()
set(CMAKE_INSTALL_PREFIX /usr/local)
endif()
endif()
endif()
elseif(WIN32)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE})
endif()
# Define proper compilation flags
if(MSVC)
# Disable Warning C4251, C++20 compatibility, Multi-threaded Builds, Warn Detection, Unwind Semantics, Debug Symbols
set(CMAKE_CXX_FLAGS "/wd4251 /Zc:__cplusplus /std:c++20 /permissive- /W4 /MP /EHsc /Zi")
# Visual Studio: Maximum Optimization, Multi-threaded DLL
set(CMAKE_CXX_FLAGS_RELEASE "/Ox /MD")
# Visual Studio: No Optimization, Multi-threaded Debug DLL
set(CMAKE_CXX_FLAGS_DEBUG "/Od /MDd")
# Generate PDB, even when in release (So developers can better analyze crash logs)
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
elseif(CMAKE_COMPILER_IS_GNUCXX)
# linux/gcc, bsd/gcc, windows/mingw
include(CheckCXXCompilerFlag)
set(CMAKE_CXX_FLAGS_RELEASE "-s -O2")
if(WARNING_AS_ERROR)
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O0 -Wall -Wextra -Werror")
else()
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O0 -Wall -Wextra")
endif()
if(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++20")
endif()
set(ADDITIONAL_DEBUG_FLAGS
-Wcast-align
-Wmissing-declarations
-Wno-long-long
-Wno-error=extra
-Wno-error=delete-non-virtual-dtor
-Wno-error=sign-compare
-Wno-error=missing-declarations
-Wno-error=sfinae-incomplete # GCC 16+: Qt MOC + protobuf forward decls trigger this
)
foreach(FLAG ${ADDITIONAL_DEBUG_FLAGS})
check_cxx_compiler_flag("${FLAG}" CXX_HAS_WARNING_${FLAG})
if(CXX_HAS_WARNING_${FLAG})
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}")
endif()
endforeach()
else()
# other: osx/llvm, bsd/llvm
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
if(WARNING_AS_ERROR)
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wextra -Werror -Wno-unused-parameter")
else()
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wextra")
endif()
endif()
# GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
add_definitions("-DSFMT_MEXP=19937")
endif()
find_package(Threads REQUIRED)
# Determine 32 or 64 bit build
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_lib_suffix 64)
else()
set(_lib_suffix 32)
endif()
if(DEFINED QTDIR${_lib_suffix})
list(APPEND CMAKE_PREFIX_PATH "${QTDIR${_lib_suffix}}")
elseif(DEFINED QTDIR)
list(APPEND CMAKE_PREFIX_PATH "${QTDIR}")
elseif(DEFINED ENV{QTDIR${_lib_suffix}})
list(APPEND CMAKE_PREFIX_PATH "$ENV{QTDIR${_lib_suffix}}")
elseif(DEFINED ENV{QTDIR})
list(APPEND CMAKE_PREFIX_PATH "$ENV{QTDIR}")
endif()
message(STATUS "Update Translations: ${UPDATE_TRANSLATIONS}")
include(FindQtRuntime)
set(CMAKE_AUTOMOC TRUE)
# Find other needed libraries
find_package(Protobuf CONFIG)
if(NOT Protobuf_FOUND)
find_package(Protobuf REQUIRED)
endif()
if(${Protobuf_VERSION} VERSION_LESS "3.21.0.0" AND NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
message(FATAL_ERROR "No protoc command found!")
endif()
#Find OpenSSL
if(WIN32)
find_package(OpenSSL REQUIRED)
if(OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIRS})
else()
message(
WARNING
"Could not find OpenSSL runtime libraries. They are not required for compiling, but needs to be available at runtime."
)
endif()
endif()
#Find VCredist
if(MSVC)
find_package(VCredistRuntime)
endif()
# Package builder
set(CPACK_PACKAGE_CONTACT "Zach Halpern <zach@cockatrice.us>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME}")
set(CPACK_PACKAGE_VENDOR "Cockatrice Development Team")
set(CPACK_PACKAGE_DESCRIPTION
"Cockatrice is an open-source, multiplatform application for playing tabletop card games over a network. The program's server design prevents users from manipulating the game for unfair advantage. The client also provides a single-player mode, which allows users to brew while offline."
)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_VERSION_FILENAME}")
if(UNIX)
if(APPLE)
set(CPACK_GENERATOR DragNDrop ${CPACK_GENERATOR})
set(CPACK_GENERATOR "DragNDrop")
set(CPACK_DMG_FORMAT "UDBZ")
set(CPACK_DMG_VOLUME_NAME "${PROJECT_NAME}")
set(CPACK_SYSTEM_NAME "OSX")
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/cockatrice/resources/appicon.icns")
set(CPACK_DMG_DS_STORE_SETUP_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CMakeDMGSetup.script")
set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/dmgBackground.tif")
set(CPACK_PRE_BUILD_SCRIPTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/SignMacApplications.cmake")
else()
# linux
if(CPACK_GENERATOR STREQUAL "RPM")
set(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
set(CPACK_RPM_MAIN_COMPONENT "cockatrice")
if(Qt6_FOUND)
set(CPACK_RPM_PACKAGE_REQUIRES "protobuf, qt6-qttools, qt6-qtsvg, qt6-qtmultimedia, qt6-qtimageformats")
elseif(Qt5_FOUND)
set(CPACK_RPM_PACKAGE_REQUIRES "protobuf, qt5-qttools, qt5-qtsvg, qt5-qtmultimedia")
endif()
set(CPACK_RPM_PACKAGE_GROUP "Amusements/Games")
set(CPACK_RPM_PACKAGE_URL "http://github.com/Cockatrice/Cockatrice")
# stop directories from making package conflicts
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
/usr/share/applications
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/48x48
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/hicolor/scalable
/usr/share/icons/hicolor/scalable/apps
)
else()
set(CPACK_GENERATOR DEB)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://github.com/Cockatrice/Cockatrice")
if(Qt6_FOUND)
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt6multimedia6, libqt6svg6, qt6-qpa-plugins, qt6-image-formats-plugins")
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "libqt6sql6-mysql") # for connecting servatrice to a mysql db
elseif(Qt5_FOUND)
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5multimedia5-plugins, libqt5svg5")
endif()
endif()
endif()
elseif(WIN32)
set(CPACK_GENERATOR NSIS ${CPACK_GENERATOR})
if("${CMAKE_GENERATOR_PLATFORM}" MATCHES "(x64)")
set(TRICE_IS_64_BIT 1)
else()
set(TRICE_IS_64_BIT 0)
endif()
# Configure file with custom definitions for NSIS.
configure_file("${COCKATRICE_CMAKE_PATH}/NSIS.definitions.nsh.in" "${PROJECT_BINARY_DIR}/NSIS.definitions.nsh")
# include vcredist into the package; NSIS will take care of running it
if(VCREDISTRUNTIME_FOUND)
install(FILES "${VCREDISTRUNTIME_FILE}" DESTINATION ./)
endif()
endif()
include(CPack)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_interfaces ${CMAKE_BINARY_DIR}/libcockatrice_interfaces)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_protocol ${CMAKE_BINARY_DIR}/libcockatrice_protocol)
if(WITH_CLIENT
OR WITH_SERVER
OR WITH_ORACLE
)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_network ${CMAKE_BINARY_DIR}/libcockatrice_network)
endif()
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_deck_list ${CMAKE_BINARY_DIR}/libcockatrice_deck_list)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_rng ${CMAKE_BINARY_DIR}/libcockatrice_rng)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_card ${CMAKE_BINARY_DIR}/libcockatrice_card)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_utility ${CMAKE_BINARY_DIR}/libcockatrice_utility)
if(WITH_ORACLE OR WITH_CLIENT)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_settings ${CMAKE_BINARY_DIR}/libcockatrice_settings)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_models ${CMAKE_BINARY_DIR}/libcockatrice_models)
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_filters ${CMAKE_BINARY_DIR}/libcockatrice_filters)
endif()
if(WITH_SERVER)
add_subdirectory(servatrice)
set(CPACK_INSTALL_CMAKE_PROJECTS "Servatrice;Servatrice;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
endif()
if(WITH_CLIENT)
add_subdirectory(cockatrice)
set(CPACK_INSTALL_CMAKE_PROJECTS "Cockatrice;Cockatrice;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
endif()
if(WITH_ORACLE)
add_subdirectory(oracle)
set(CPACK_INSTALL_CMAKE_PROJECTS "Oracle;Oracle;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
endif()
if(TEST)
include(CTest)
add_subdirectory(tests)
endif()
if(Qt6_FOUND AND Qt6_VERSION_MINOR GREATER_EQUAL 3)
# Qt6.3+ requires project finalization to support translations
qt6_finalize_project()
endif()
+44
View File
@@ -0,0 +1,44 @@
# -------- Build Stage --------
FROM ubuntu:26.04 AS build
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
file \
g++ \
git \
libmariadb-dev-compat \
libprotobuf-dev \
libqt6sql6-mysql \
qt6-websockets-dev \
protobuf-compiler \
qt6-tools-dev \
qt6-tools-dev-tools
WORKDIR /src
COPY . .
RUN mkdir build && cd build && \
cmake .. -DWITH_SERVER=1 -DWITH_CLIENT=0 -DWITH_ORACLE=0 && \
make -j$(nproc) && \
make install
# -------- Runtime Stage (clean) --------
FROM ubuntu:26.04
RUN apt-get update && apt-get install -y --no-install-recommends \
libprotobuf32t64 \
libqt6sql6-mysql \
libqt6websockets6 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Only copy installed binaries, not source
COPY --from=build /usr/local /usr/local
WORKDIR /home/servatrice
EXPOSE 4748
ENTRYPOINT [ "servatrice", "--log-to-console" ]
+3015
View File
File diff suppressed because it is too large Load Diff
+338
View File
@@ -0,0 +1,338 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Moe Ghoul>, 1 April 1989
Moe Ghoul, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
+54
View File
@@ -0,0 +1,54 @@
on run argv
set image_name to item 1 of argv
tell application "Finder"
tell disk image_name
-- wait for the image to finish mounting
set open_attempts to 0
repeat while open_attempts < 4
try
open
delay 1
set open_attempts to 5
close
on error errStr number errorNumber
set open_attempts to open_attempts + 1
delay 10
end try
end repeat
delay 5
-- open the image the first time and save a DS_Store with just
-- background and icon setup
open
set current view of container window to icon view
set theViewOptions to the icon view options of container window
set background picture of theViewOptions to file ".background:background.tif"
set arrangement of theViewOptions to not arranged
set icon size of theViewOptions to 128
delay 5
close
-- next setup the position of the app and Applications symlink
-- plus hide all the window decoration
open
update without registering applications
tell container window
set sidebar width to 0
set statusbar visible to false
set toolbar visible to false
set the bounds to { 400, 100, 1400, 922 }
set position of item "Cockatrice.app" to { 139, 214 }
set position of item "Oracle.app" to { 139, 414 }
set position of item "Servatrice.app" to { 139, 614 }
set position of item "Applications" to { 861, 414 }
end tell
update without registering applications
delay 5
close
end tell
delay 1
end tell
end run
+18
View File
@@ -0,0 +1,18 @@
# Find the LibExecinfo library - FreeBSD only
find_path(LIBEXECINFO_INCLUDE_DIR execinfo.h)
find_library(LIBEXECINFO_LIBRARY NAMES execinfo)
if(LIBEXECINFO_INCLUDE_DIR AND LIBEXECINFO_LIBRARY)
set(LIBEXECINFO_FOUND TRUE)
endif()
if(LIBEXECINFO_FOUND)
if(NOT LIBEXECINFO_FIND_QUIETLY)
message(STATUS "Found LibExecinfo: ${EXECINFO_LIBRARY}")
endif()
else()
if(LIBEXECINFO_FIND_REQUIRED)
message(FATAL_ERROR "Could not find LibExecinfo")
endif()
endif()
+118
View File
@@ -0,0 +1,118 @@
# Find a compatible Qt version
# Inputs: WITH_SERVER, WITH_CLIENT, WITH_ORACLE, FORCE_USE_QT5
# Optional Input: QT6_DIR -- Hint as to where Qt6 lives on the system
# Optional Input: QT5_DIR -- Hint as to where Qt5 lives on the system
# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt5, Qt6
# Output: SERVATRICE_QT_MODULES
# Output: COCKATRICE_QT_MODULES
# Output: ORACLE_QT_MODULES
# Output: TEST_QT_MODULES
set(REQUIRED_QT_COMPONENTS Core)
if(WITH_SERVER)
set(_SERVATRICE_NEEDED Network Sql WebSockets)
endif()
if(WITH_CLIENT)
set(_COCKATRICE_NEEDED
Concurrent
Gui
Multimedia
Network
PrintSupport
Svg
WebSockets
Widgets
Xml
)
endif()
if(WITH_ORACLE)
set(_ORACLE_NEEDED Concurrent Network Svg Widgets)
endif()
if(TEST)
# Union of Qt modules required across all test targets (independent of application targets).
# When adding a new test that needs additional Qt modules, add them here rather than in the test's CMakeLists.txt.
set(_TEST_NEEDED Concurrent Network Svg Widgets)
endif()
set(REQUIRED_QT_COMPONENTS ${REQUIRED_QT_COMPONENTS} ${_SERVATRICE_NEEDED} ${_COCKATRICE_NEEDED} ${_ORACLE_NEEDED}
${_TEST_NEEDED}
)
list(REMOVE_DUPLICATES REQUIRED_QT_COMPONENTS)
if(NOT FORCE_USE_QT5)
# Linguist is now a component in Qt6 instead of an external package
find_package(
Qt6 6.4.2
COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist
QUIET HINTS ${Qt6_DIR}
)
endif()
if(Qt6_FOUND)
set(COCKATRICE_QT_VERSION_NAME Qt6)
list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX)
if(QT6_LRELEASE_INDEX EQUAL -1)
message(WARNING "Qt6 lrelease not found.")
endif()
list(FIND Qt6LinguistTools_TARGETS Qt6::lupdate QT6_LUPDATE_INDEX)
if(QT6_LUPDATE_INDEX EQUAL -1)
message(WARNING "Qt6 lupdate not found.")
endif()
else()
find_package(
Qt5 5.15.2
COMPONENTS ${REQUIRED_QT_COMPONENTS}
QUIET HINTS ${Qt5_DIR}
)
if(Qt5_FOUND)
set(COCKATRICE_QT_VERSION_NAME Qt5)
else()
message(FATAL_ERROR "No suitable version of Qt was found")
endif()
# Qt5 Linguist is in a separate package
find_package(Qt5LinguistTools QUIET)
if(Qt5LinguistTools_FOUND)
if(NOT Qt5_LRELEASE_EXECUTABLE)
message(WARNING "Qt5 lrelease not found.")
endif()
if(NOT Qt5_LUPDATE_EXECUTABLE)
message(WARNING "Qt5 lupdate not found.")
endif()
else()
message(WARNING "Linguist Tools not found, cannot handle translations")
endif()
endif()
if(Qt5_POSITION_INDEPENDENT_CODE OR Qt6_FOUND)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
# Establish Qt Plugins directory & Library directories
get_target_property(QT_LIBRARY_DIR ${COCKATRICE_QT_VERSION_NAME}::Core LOCATION)
get_filename_component(QT_LIBRARY_DIR ${QT_LIBRARY_DIR} DIRECTORY)
if(Qt6_FOUND)
get_filename_component(QT_PLUGINS_DIR "${Qt6Core_DIR}/../../../${QT6_INSTALL_PLUGINS}" ABSOLUTE)
get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/../../.." ABSOLUTE)
if(UNIX AND APPLE)
# Mac needs a bit more help finding all necessary components
list(APPEND QT_LIBRARY_DIR "/usr/local/lib")
endif()
elseif(Qt5_FOUND)
get_filename_component(QT_PLUGINS_DIR "${Qt5Core_DIR}/../../../plugins" ABSOLUTE)
get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/.." ABSOLUTE)
endif()
message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}")
message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}")
# Establish exports
string(REGEX REPLACE "([^;]+)" "${COCKATRICE_QT_VERSION_NAME}::\\1" SERVATRICE_QT_MODULES "${_SERVATRICE_NEEDED}")
string(REGEX REPLACE "([^;]+)" "${COCKATRICE_QT_VERSION_NAME}::\\1" COCKATRICE_QT_MODULES "${_COCKATRICE_NEEDED}")
string(REGEX REPLACE "([^;]+)" "${COCKATRICE_QT_VERSION_NAME}::\\1" ORACLE_QT_MODULES "${_ORACLE_NEEDED}")
string(REGEX REPLACE "([^;]+)" "${COCKATRICE_QT_VERSION_NAME}::\\1" TEST_QT_MODULES "${_TEST_NEEDED}")
# Core-only export (useful for headless libs)
set(QT_CORE_MODULE "${COCKATRICE_QT_VERSION_NAME}::Core")
message(STATUS "Found Qt ${${COCKATRICE_QT_VERSION_NAME}_VERSION} at: ${${COCKATRICE_QT_VERSION_NAME}_DIR}")
+42
View File
@@ -0,0 +1,42 @@
# Find the MS Visual Studio VC redistributable package
if(WIN32)
set(VCREDISTRUNTIME_FOUND "NO")
if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64-bit
set(REDIST_ARCH x64)
else()
set(REDIST_ARCH x86)
endif()
# VS 2017 uses vcredist_ARCH.exe, VS 2022 uses vc_redist.ARCH.exe
set(REDIST_FILE_NAMES vcredist_${REDIST_ARCH}.exe vcredist.${REDIST_ARCH}.exe vc_redist.${REDIST_ARCH}.exe)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
include(InstallRequiredSystemLibraries)
# Check if the list contains minimum one element, to get the path from
list(LENGTH CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS libsCount)
if(libsCount GREATER 0)
list(GET CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS 0 _path)
get_filename_component(_path ${_path} DIRECTORY)
get_filename_component(_path ${_path}/../../ ABSOLUTE)
foreach(redist_file ${REDIST_FILE_NAMES})
if(EXISTS "${_path}/${redist_file}")
set(VCREDISTRUNTIME_FOUND "YES")
set(VCREDISTRUNTIME_FILE ${_path}/${redist_file})
break()
endif()
endforeach()
endif()
if(VCREDISTRUNTIME_FOUND)
message(STATUS "Found VCredist ${VCREDISTRUNTIME_FILE}")
else()
message(
WARNING "Could not find VCredist package. It's not required for compiling, but needs to be available at runtime."
)
endif()
endif()
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<key>CFBundleIdentifier</key>
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
<key>CFBundleName</key>
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>LSRequiresCarbon</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>
+2
View File
@@ -0,0 +1,2 @@
!define NSIS_SOURCE_PATH "@PROJECT_SOURCE_DIR@"
!define NSIS_IS_64_BIT @TRICE_IS_64_BIT@
+427
View File
@@ -0,0 +1,427 @@
!include ..\..\..\NSIS.definitions.nsh
Name "@CPACK_PACKAGE_NAME@"
BrandingText "@CPACK_PACKAGE_FILE_NAME@"
OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
RequestExecutionlevel admin
SetCompressor LZMA
Var NormalDestDir
Var PortableDestDir
Var PortableMode
Var ReinstallMode
!include LogicLib.nsh
!include FileFunc.nsh
!include MUI2.nsh
!include x64.nsh
!define MUI_ABORTWARNING
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSIS_SOURCE_PATH}\cmake\leftimage.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSIS_SOURCE_PATH}\cmake\leftimage.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSIS_SOURCE_PATH}\cmake\headerimage.bmp"
!define MUI_HEADERIMAGE_UNBITMAP "${NSIS_SOURCE_PATH}\cmake\headerimage.bmp"
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Cockatrice.$\r$\n$\r$\nClick Next to continue."
!define MUI_FINISHPAGE_RUN "$INSTDIR/cockatrice.exe"
!define MUI_FINISHPAGE_RUN_TEXT "Run 'Cockatrice' now"
!define MUI_ICON "${NSIS_SOURCE_PATH}\cockatrice\resources\appicon.ico"
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfReinstall
!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfReinstall
!insertmacro MUI_PAGE_LICENSE "${NSIS_SOURCE_PATH}\LICENSE"
Page Custom PortableModePageCreate PortableModePageLeave
!define MUI_PAGE_CUSTOMFUNCTION_PRE componentsPagePre
!insertmacro MUI_PAGE_COMPONENTS
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfReinstall
!insertmacro MUI_PAGE_DIRECTORY
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfReinstall
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_PRE SkipIfReinstall
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE English
Function .onInit
${If} ${NSIS_IS_64_BIT} == 1 #NSIS 64bit
${IfNot} ${RunningX64}
MessageBox MB_OK|MB_ICONSTOP "This version of Cockatrice requires a 64-bit Windows system."
Abort
${EndIf}
StrCpy $NormalDestDir "$ProgramFiles64\Cockatrice"
SetRegView 64
${Else} #NSIS 32bit
${If} ${RunningX64}
MessageBox MB_OK|MB_ICONEXCLAMATION \
"You are about to install a 32-bit version of Cockatrice on a 64-bit Windows system.$\n\
We advise you to use the correct 64-bit installer instead to get around potential issues.$\n$\n\
Download from our webpage: https://cockatrice.github.io"
${EndIf}
StrCpy $NormalDestDir "$ProgramFiles\Cockatrice"
${EndIf}
StrCpy $PortableDestDir "$Desktop\CockatricePortable"
${GetParameters} $9
ClearErrors
${GetOptions} $9 "/?" $8
${IfNot} ${Errors}
MessageBox MB_ICONINFORMATION|MB_SETFOREGROUND "\
/PORTABLE : Install in portable mode$\n\
/S : Silent install$\n\
/R : Silent upgrade$\n\
/D=%directory% : Specify destination directory$\n"
Quit
${EndIf}
ClearErrors
${GetOptions} $9 "/PORTABLE" $8
${IfNot} ${Errors}
StrCpy $PortableMode 1
StrCpy $0 $PortableDestDir
${Else}
StrCpy $PortableMode 0
StrCpy $0 $NormalDestDir
${If} ${Silent}
Call RequireAdmin
${EndIf}
${EndIf}
ClearErrors
${GetOptions} $9 "/R" $8
${IfNot} ${Errors}
StrCpy $ReinstallMode 1
SetSilent silent
SetAutoClose true
${Else}
StrCpy $ReinstallMode 0
${EndIf}
${If} $InstDir == ""
; User did not use /D to specify a directory,
; we need to set a default based on the install mode
StrCpy $InstDir $0
${EndIf}
; --- Detect portable install when using /R (must come BEFORE SetModeDestinationFromInstdir) ---
${If} $ReinstallMode = 1
IfFileExists "$InstDir\portable.dat" 0 not_portable
StrCpy $PortableMode 1
Goto portable_done
not_portable:
StrCpy $PortableMode 0
portable_done:
${EndIf}
; Now that $PortableMode reflects reality, commit InstDir into the correct slot
Call SetModeDestinationFromInstdir
${If} $ReinstallMode = 1
${AndIf} $PortableMode = 0
Call AutoUninstallIfNeeded
${EndIf}
FunctionEnd
Function un.onInit
${If} ${NSIS_IS_64_BIT} == 1
SetRegView 64
${EndIf}
FunctionEnd
Function RequireAdmin
UserInfo::GetAccountType
Pop $8
${If} $8 != "admin"
MessageBox MB_ICONSTOP "You need administrator rights to install Cockatrice"
SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
Abort
${EndIf}
FunctionEnd
Function SetModeDestinationFromInstdir
${If} $PortableMode = 0
StrCpy $NormalDestDir $InstDir
${Else}
StrCpy $PortableDestDir $InstDir
${EndIf}
FunctionEnd
Function SkipIfReinstall
${If} $ReinstallMode = 1
Abort
${EndIf}
FunctionEnd
Function AutoUninstallIfNeeded
SetShellVarContext all
; --- 32-bit uninstall ---
SetRegView 32
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "QuietUninstallString"
StrCmp $R0 "" done32
DetailPrint "Removing previous version (32-bit)..."
ExecWait '$R0'
done32:
; --- 64-bit uninstall ---
${If} ${RunningX64}
SetRegView 64
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "QuietUninstallString"
StrCmp $R0 "" done64
DetailPrint "Removing previous version (64-bit)..."
ExecWait '$R0'
done64:
${EndIf}
FunctionEnd
Function PortableModePageCreate
${If} $ReinstallMode = 1
Abort
${EndIf}
Call SetModeDestinationFromInstdir ; If the user clicks BACK on the directory page we will remember their mode specific directory
!insertmacro MUI_HEADER_TEXT "Install Mode" "Choose how you want to install Cockatrice."
nsDialogs::Create 1018
Pop $0
${NSD_CreateLabel} 0 10u 100% 24u "Select install mode:"
Pop $0
${NSD_CreateRadioButton} 30u 50u -30u 8u "Normal installation"
Pop $1
${NSD_CreateRadioButton} 30u 70u -30u 8u "Portable mode (all files in a single folder)"
Pop $2
${If} $PortableMode = 0
SendMessage $1 ${BM_SETCHECK} ${BST_CHECKED} 0
${Else}
SendMessage $2 ${BM_SETCHECK} ${BST_CHECKED} 0
${EndIf}
nsDialogs::Show
FunctionEnd
Function PortableModePageLeave
${NSD_GetState} $1 $0
${If} $0 <> ${BST_UNCHECKED}
StrCpy $PortableMode 0
StrCpy $InstDir $NormalDestDir
Call RequireAdmin
${Else}
StrCpy $PortableMode 1
StrCpy $InstDir $PortableDestDir
${EndIf}
FunctionEnd
Function componentsPagePre
${If} $ReinstallMode = 1
Return
${EndIf}
${If} $PortableMode = 0
SetShellVarContext all
# uninstall 32bit version
SetRegView 32
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "UninstallString"
StrCmp $R0 "" done32
${If} $ReinstallMode = 0
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "A previous version of Cockatrice must be uninstalled before installing the new one." IDOK uninst32
Abort
${Else}
Goto uninst32
${EndIf}
uninst32:
ClearErrors
ExecWait "$R0"
done32:
# uninstall 64bit version
${If} ${NSIS_IS_64_BIT} == 1
SetRegView 64
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "UninstallString"
StrCmp $R0 "" done64
${If} $ReinstallMode = 0
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "A previous version of Cockatrice must be uninstalled before installing the new one." IDOK uninst64
Abort
${Else}
Goto uninst64
${EndIf}
uninst64:
ClearErrors
ExecWait "$R0"
done64:
${EndIf}
${Else}
Abort
${EndIf}
FunctionEnd
Section "Application" SecApplication
SetShellVarContext all
SetOutPath "$INSTDIR"
${If} $PortableMode = 1
${AndIf} ${FileExists} "$INSTDIR\portable.dat"
; upgrade portable mode
RMDir /r "$INSTDIR\plugins"
RMDir /r "$INSTDIR\sounds"
RMDir /r "$INSTDIR\themes"
RMDir /r "$INSTDIR\translations"
Delete "$INSTDIR\uninstall.exe"
Delete "$INSTDIR\cockatrice.exe"
Delete "$INSTDIR\oracle.exe"
Delete "$INSTDIR\servatrice.exe"
Delete "$INSTDIR\Qt*.dll"
Delete "$INSTDIR\libmysql.dll"
Delete "$INSTDIR\icu*.dll"
Delete "$INSTDIR\libeay32.dll"
Delete "$INSTDIR\ssleay32.dll"
Delete "$INSTDIR\qt.conf"
Delete "$INSTDIR\qdebug.txt"
Delete "$INSTDIR\servatrice.sql"
Delete "$INSTDIR\servatrice.ini.example"
Delete "$INSTDIR\zlib*.dll"
RMDir "$INSTDIR"
${EndIf}
@CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@
@CPACK_NSIS_FULL_INSTALL@
${If} $PortableMode = 0
WriteUninstaller "$INSTDIR\uninstall.exe"
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
IntFmt $0 "0x%08X" $0
; Enable Windows User-Mode Dumps
; https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps
WriteRegExpandStr HKLM "Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\cockatrice.exe" "DumpFolder" "%LOCALAPPDATA%\CrashDumps\Cockatrice"
WriteRegDWORD HKLM "Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\cockatrice.exe" "DumpCount" "5"
WriteRegDWORD HKLM "Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\cockatrice.exe" "DumpType" "2"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "DisplayIcon" "$INSTDIR\cockatrice.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "DisplayName" "Cockatrice"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "DisplayVersion" "@CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@.@CPACK_PACKAGE_VERSION_PATCH@"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "EstimatedSize" "$0"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "InstallLocation" "$INSTDIR"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "NoModify" "1"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "NoRepair" "1"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "Publisher" "Cockatrice team"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "VersionMajor" "@CPACK_PACKAGE_VERSION_MAJOR@"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "VersionMinor" "@CPACK_PACKAGE_VERSION_MINOR@"
IfFileExists "$INSTDIR\vc_redist.x86.exe" VcRedist86Exists PastVcRedist86Check
VcRedist86Exists:
ExecWait '"$INSTDIR\vc_redist.x86.exe" /passive /norestart'
DetailPrint "Wait to ensure unlock of vc_redist file after installation..."
Sleep 3000
Delete "$INSTDIR\vc_redist.x86.exe"
PastVcRedist86Check:
IfFileExists "$INSTDIR\vc_redist.x64.exe" VcRedist64Exists PastVcRedist64Check
VcRedist64Exists:
ExecWait '"$INSTDIR\vc_redist.x64.exe" /passive /norestart'
DetailPrint "Sleep to ensure unlock of vc_redist file after installation..."
Sleep 3000
Delete "$INSTDIR\vc_redist.x64.exe"
PastVcRedist64Check:
${Else}
; Create the file the application uses to detect portable mode
FileOpen $0 "$INSTDIR\portable.dat" w
FileWrite $0 "PORTABLE"
FileClose $0
${EndIf}
${If} $ReinstallMode = 1
IfFileExists "$INSTDIR\cockatrice.exe" 0 +2
Exec '"$INSTDIR\cockatrice.exe"'
${EndIf}
SectionEnd
Section "Start menu item" SecStartMenu
${If} $PortableMode = 0
SetShellVarContext all
createDirectory "$SMPROGRAMS\Cockatrice"
createShortCut "$SMPROGRAMS\Cockatrice\Cockatrice.lnk" "$INSTDIR\cockatrice.exe"
createShortCut "$SMPROGRAMS\Cockatrice\Oracle.lnk" "$INSTDIR\oracle.exe"
createShortCut "$SMPROGRAMS\Cockatrice\Servatrice.lnk" "$INSTDIR\servatrice.exe"
${EndIf}
SectionEnd
Section "un.Application" UnSecApplication
SetShellVarContext all
RMDir /r "$INSTDIR\plugins"
RMDir /r "$INSTDIR\sounds"
RMDir /r "$INSTDIR\themes"
RMDir /r "$INSTDIR\translations"
Delete "$INSTDIR\*.exe"
Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\qt.conf"
Delete "$INSTDIR\qdebug.txt"
Delete "$INSTDIR\servatrice.sql"
Delete "$INSTDIR\servatrice.ini.example"
RMDir "$INSTDIR"
RMDir "$SMPROGRAMS\Cockatrice"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice"
SectionEnd
; unselected because it is /o
Section /o "un.Configurations, decks, cards, pics" UnSecConfiguration
SetShellVarContext current
DeleteRegKey HKCU "Software\Cockatrice"
RMDir /r "$LOCALAPPDATA\Cockatrice"
SectionEnd
LangString DESC_SecApplication ${LANG_ENGLISH} "Cockatrice program files"
LangString DESC_SecStartMenu ${LANG_ENGLISH} "Create start menu items for Cockatrice and Oracle."
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecApplication} $(DESC_SecApplication)
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(DESC_SecStartMenu)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
LangString DESC_UnSecApplication ${LANG_ENGLISH} "Cockatrice program files and start menu items"
LangString DESC_UnSecConfiguration ${LANG_ENGLISH} "Configurations, decks, card database, pictures"
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${UnSecApplication} $(DESC_UnSecApplication)
!insertmacro MUI_DESCRIPTION_TEXT ${UnSecConfiguration} $(DESC_UnSecConfiguration)
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
+27
View File
@@ -0,0 +1,27 @@
# This script re-signs all apps after CPack packages them. This is necessary because CPack modifies
# the library references used by Cockatrice to App relative paths, invalidating the code signature.
string(LENGTH "$ENV{MACOS_CERTIFICATE_NAME}" MACOS_CERTIFICATE_NAME_LEN)
if(APPLE AND MACOS_CERTIFICATE_NAME_LEN GREATER 0)
set(APPLICATIONS "cockatrice" "servatrice" "oracle")
foreach(app_name IN LISTS APPLICATIONS)
set(FULL_APP_PATH "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${app_name}.app")
message(STATUS "Signing Interior Dynamically Loaded Libraries for ${app_name}.app")
execute_process(COMMAND "find" "${FULL_APP_PATH}" "-name" "*.dylib" OUTPUT_VARIABLE INTERIOR_DLLS)
string(REPLACE "\n" ";" INTERIOR_DLLS_LIST ${INTERIOR_DLLS})
foreach(INTERIOR_DLL IN LISTS INTERIOR_DLLS_LIST)
execute_process(
COMMAND "codesign" "--sign" "$ENV{MACOS_CERTIFICATE_NAME}" "--entitlements" "../.ci/macos.entitlements"
"--options" "runtime" "--force" "--deep" "--timestamp" "--verbose" "${INTERIOR_DLL}"
)
endforeach()
message(STATUS "Signing Exterior Applications ${app_name}.app")
execute_process(
COMMAND "codesign" "--sign" "$ENV{MACOS_CERTIFICATE_NAME}" "--entitlements" "../.ci/macos.entitlements"
"--options" "runtime" "--force" "--deep" "--timestamp" "--verbose" "${FULL_APP_PATH}"
)
endforeach()
endif()
+24
View File
@@ -0,0 +1,24 @@
set(VERSION_STRING_CPP "${PROJECT_BINARY_DIR}/version_string.cpp")
set(VERSION_STRING_H "${PROJECT_BINARY_DIR}/version_string.h")
include_directories(${PROJECT_BINARY_DIR})
set(hstring
"extern const char *VERSION_STRING\;
extern const char *VERSION_COMMIT\;
extern const char *VERSION_DATE\;\n"
)
set(cppstring
"const char *VERSION_STRING = \"${PROJECT_VERSION_FRIENDLY}\"\;
const char *VERSION_COMMIT = \"${GIT_COMMIT_ID}\"\;
const char *VERSION_DATE = \"${GIT_COMMIT_DATE_FRIENDLY}\"\;\n"
)
file(WRITE ${PROJECT_BINARY_DIR}/version_string.cpp.txt ${cppstring})
file(WRITE ${PROJECT_BINARY_DIR}/version_string.h.txt ${hstring})
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_BINARY_DIR}/version_string.h.txt ${VERSION_STRING_H}
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_BINARY_DIR}/version_string.cpp.txt ${VERSION_STRING_CPP}
)
Binary file not shown.
+223
View File
@@ -0,0 +1,223 @@
# HELPER FUNCTIONS
function(get_commit_id)
# get last commit hash
execute_process(
COMMAND ${GIT_EXECUTABLE} log -1 --abbrev=7 --date=short "--pretty=%h"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE res_var
OUTPUT_VARIABLE GIT_COM_ID
)
if(NOT ${res_var} EQUAL 0)
message(WARNING "Git failed (not a repo, or no tags). Build will not contain git revision info.")
return()
endif()
string(REPLACE "\n" "" GIT_COM_ID "${GIT_COM_ID}")
set(GIT_COMMIT_ID
"${GIT_COM_ID}"
PARENT_SCOPE
)
set(PROJECT_VERSION_LABEL
"custom-${GIT_COM_ID}"
PARENT_SCOPE
)
endfunction()
function(get_commit_date)
# get last commit date
execute_process(
COMMAND ${GIT_EXECUTABLE} log -1 --date=short "--pretty=%cd"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE res_var
OUTPUT_VARIABLE GIT_COM_DATE
)
if(NOT ${res_var} EQUAL 0)
message(WARNING "Git failed (not a repo, or no tags). Build will not contain git revision info.")
return()
endif()
string(REPLACE "\n" "" GIT_COM_DATE "${GIT_COM_DATE}")
set(GIT_COMMIT_DATE_FRIENDLY
"${GIT_COM_DATE}"
PARENT_SCOPE
)
string(REPLACE "-" "" GIT_COM_DATE "${GIT_COM_DATE}")
set(GIT_COMMIT_DATE
"${GIT_COM_DATE}"
PARENT_SCOPE
)
endfunction()
function(get_tag_name commit)
if(${commit} STREQUAL "unknown")
return()
endif()
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --exact-match --tags ${commit}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE res_var
OUTPUT_VARIABLE GIT_TAG
ERROR_VARIABLE GIT_TAG_ERR
)
if((NOT ${res_var} EQUAL 0) OR (${GIT_TAG_ERR} MATCHES "fatal: no tag exactly matches.*"))
message(STATUS "Commit is not a release or prerelease (no git tag found)")
return()
endif()
string(REPLACE "\n" "" GIT_TAG "${GIT_TAG}")
message(STATUS "Commit is a release or prerelease, git tag: ${GIT_TAG}")
# Extract information from tag:
# YYYY-MM-DD-Release-MAJ.MIN.PATCH
# YYYY-MM-DD-Development-MAJ.MIN.PATCH-beta.X
string(REPLACE "-" ";" GIT_TAG_EXPLODED "${GIT_TAG}")
string(REPLACE "." ";" GIT_TAG_EXPLODED "${GIT_TAG_EXPLODED}")
# Sanity checks: length
list(LENGTH GIT_TAG_EXPLODED GIT_TAG_LISTCOUNT)
if(${GIT_TAG_LISTCOUNT} LESS 7 OR ${GIT_TAG_LISTCOUNT} GREATER 9)
message(WARNING "Invalid tag format, got ${GIT_TAG_LISTCOUNT} tokens")
return()
endif()
# Year
list(GET GIT_TAG_EXPLODED 0 GIT_TAG_YEAR)
if(${GIT_TAG_YEAR} LESS 2017 OR ${GIT_TAG_LISTCOUNT} GREATER 2100)
message(WARNING "Invalid tag year ${GIT_TAG_YEAR}")
return()
endif()
# Month
list(GET GIT_TAG_EXPLODED 1 GIT_TAG_MONTH)
if(${GIT_TAG_MONTH} LESS 1 OR ${GIT_TAG_MONTH} GREATER 12)
message(WARNING "Invalid tag month ${GIT_TAG_MONTH}")
return()
endif()
# Day
list(GET GIT_TAG_EXPLODED 2 GIT_TAG_DAY)
if(${GIT_TAG_DAY} LESS 1 OR ${GIT_TAG_DAY} GREATER 31)
message(WARNING "Invalid tag day ${GIT_TAG_DAY}")
return()
endif()
# Type
list(GET GIT_TAG_EXPLODED 3 GIT_TAG_TYPE)
if(NOT (${GIT_TAG_TYPE} STREQUAL "Release" OR ${GIT_TAG_TYPE} STREQUAL "Development"))
message(WARNING "Invalid tag type ${GIT_TAG_TYPE}")
return()
endif()
# Major
list(GET GIT_TAG_EXPLODED 4 GIT_TAG_MAJOR)
if(${GIT_TAG_MAJOR} LESS 0 OR ${GIT_TAG_MAJOR} GREATER 99)
message(WARNING "Invalid tag major version ${GIT_TAG_MAJOR}")
return()
endif()
# Minor
list(GET GIT_TAG_EXPLODED 5 GIT_TAG_MINOR)
if(${GIT_TAG_MINOR} LESS 0 OR ${GIT_TAG_MINOR} GREATER 99)
message(WARNING "Invalid tag minor version ${GIT_TAG_MINOR}")
return()
endif()
# Patch
list(GET GIT_TAG_EXPLODED 6 GIT_TAG_PATCH)
if(${GIT_TAG_PATCH} LESS 0 OR ${GIT_TAG_PATCH} GREATER 99)
message(WARNING "Invalid tag patch version ${GIT_TAG_PATCH}")
return()
endif()
# Label
# 7 = Stable release
# 8 = Dev release, first beta so only "beta" attached
# 9 = Dev release, subsequent beta so "beta.N" attached (N>=2)
if(${GIT_TAG_LISTCOUNT} EQUAL 8)
list(GET GIT_TAG_EXPLODED 7 GIT_TAG_LABEL)
elseif(${GIT_TAG_LISTCOUNT} EQUAL 9)
list(GET GIT_TAG_EXPLODED 7 GIT_TAG_LABEL)
list(GET GIT_TAG_EXPLODED 8 GIT_TAG_LABEL_NUM)
set(GIT_TAG_LABEL ${GIT_TAG_LABEL} ${GIT_TAG_LABEL_NUM})
string(REPLACE ";" "." GIT_TAG_LABEL "${GIT_TAG_LABEL}")
else()
set(GIT_TAG_LABEL "")
endif()
# Override hardcoded version with the informations from the tag
set(PROJECT_VERSION_MAJOR
${GIT_TAG_MAJOR}
PARENT_SCOPE
)
set(PROJECT_VERSION_MINOR
${GIT_TAG_MINOR}
PARENT_SCOPE
)
set(PROJECT_VERSION_PATCH
${GIT_TAG_PATCH}
PARENT_SCOPE
)
set(PROJECT_VERSION_LABEL
${GIT_TAG_LABEL}
PARENT_SCOPE
)
if(${GIT_TAG_TYPE} STREQUAL "Development")
set(PROJECT_VERSION_LABEL
${GIT_TAG_LABEL}
PARENT_SCOPE
)
elseif(${GIT_TAG_TYPE} STREQUAL "Release")
set(PROJECT_VERSION_LABEL
""
PARENT_SCOPE
)
# set release name from env var
set(PROJECT_VERSION_RELEASENAME
"${GIT_TAG_RELEASENAME}"
PARENT_SCOPE
)
endif()
endfunction()
# START OF MAIN
# fallback defaults
set(GIT_COMMIT_ID "unknown")
set(GIT_COMMIT_DATE "")
set(GIT_COMMIT_DATE_FRIENDLY "")
set(PROJECT_VERSION_LABEL "")
set(PROJECT_VERSION_RELEASENAME "")
find_package(Git)
if(GIT_FOUND)
get_commit_id()
get_commit_date()
get_tag_name(${GIT_COMMIT_ID})
else()
message(WARNING "Git not found. Build will not contain git revision info.")
endif()
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
if(PROJECT_VERSION_LABEL)
set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_LABEL}")
endif()
set(PROJECT_VERSION_FRIENDLY "${PROJECT_VERSION} (${GIT_COMMIT_DATE_FRIENDLY})")
# Format: <program name>[-ReleaseName]-MAJ.MIN.PATCH[-prerelease_label]
set(PROJECT_VERSION_FILENAME "${PROJECT_NAME}")
if(PROJECT_VERSION_RELEASENAME)
string(REPLACE " " "-" PROJECT_VERSION_RELEASENAME_SAFE "${PROJECT_VERSION_RELEASENAME}")
set(PROJECT_VERSION_FILENAME "${PROJECT_VERSION_FILENAME}-${PROJECT_VERSION_RELEASENAME_SAFE}")
endif()
set(PROJECT_VERSION_FILENAME "${PROJECT_VERSION_FILENAME}-${PROJECT_VERSION}")
message(STATUS "Project version: ${PROJECT_VERSION}")
message(STATUS "Friendly project version: ${PROJECT_VERSION_FRIENDLY}")
message(STATUS "Project version filename: ${PROJECT_VERSION_FILENAME}")
+16
View File
@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.10)
project(gtest-download LANGUAGES NONE)
include(ExternalProject)
externalproject_add(
googletest
URL https://github.com/google/googletest/archive/refs/tags/v1.17.0.zip
URL_HASH SHA1=f638fa0e724760e2ba07ff8cfba32cd644e1ce28
SOURCE_DIR "${CMAKE_BINARY_DIR}/gtest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/gtest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
export CCACHE_CPP2=true
exec "${RULE_LAUNCH_COMPILE}" "${CMAKE_C_COMPILER}" "$@"
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
export CCACHE_CPP2=true
exec "${RULE_LAUNCH_COMPILE}" "${CMAKE_CXX_COMPILER}" "$@"
Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.
+664
View File
@@ -0,0 +1,664 @@
# CMakeLists for cockatrice directory
#
# provides the cockatrice binary
project(Cockatrice VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
set(cockatrice_SOURCES
${VERSION_STRING_CPP}
# sort by alphabetical order, so that there is no debate about where to add new sources to the list
src/client/network/connection_controller/remote_connection_controller.cpp
src/client/network/update/client/update_downloader.cpp
src/client/network/interfaces/deck_stats_interface.cpp
src/client/network/interfaces/tapped_out_interface.cpp
src/client/network/parsers/deck_link_to_api_transformer.cpp
src/client/network/update/client/client_update_checker.cpp
src/client/network/update/client/release_channel.cpp
src/client/network/update/card_spoiler/spoiler_background_updater.cpp
src/client/sound_engine.cpp
src/client/settings/cache_settings.cpp
src/client/settings/card_counter_settings.cpp
src/client/settings/shortcut_treeview.cpp
src/client/settings/shortcuts_settings.cpp
src/interface/deck_loader/card_node_function.cpp
src/interface/deck_loader/deck_file_format.cpp
src/interface/deck_loader/deck_loader.cpp
src/interface/deck_loader/loaded_deck.cpp
src/interface/widgets/dialogs/dlg_connect.cpp
src/interface/widgets/dialogs/dlg_convert_deck_to_cod_format.cpp
src/interface/widgets/dialogs/dlg_create_game.cpp
src/interface/widgets/dialogs/dlg_default_tags_editor.cpp
src/interface/widgets/dialogs/dlg_edit_avatar.cpp
src/interface/widgets/dialogs/dlg_edit_password.cpp
src/interface/widgets/dialogs/dlg_edit_tokens.cpp
src/interface/widgets/dialogs/dlg_edit_user.cpp
src/interface/widgets/dialogs/dlg_filter_games.cpp
src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp
src/interface/widgets/dialogs/dlg_forgot_password_request.cpp
src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp
src/interface/widgets/dialogs/dlg_load_deck.cpp
src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp
src/interface/widgets/dialogs/dlg_load_deck_from_website.cpp
src/interface/widgets/dialogs/dlg_load_remote_deck.cpp
src/interface/widgets/dialogs/dlg_local_game_options.cpp
src/interface/widgets/dialogs/dlg_manage_sets.cpp
src/interface/widgets/dialogs/dlg_register.cpp
src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp
src/interface/widgets/dialogs/dlg_settings.cpp
src/interface/widgets/dialogs/dlg_startup_card_check.cpp
src/interface/widgets/dialogs/dlg_tip_of_the_day.cpp
src/interface/widgets/dialogs/dlg_update.cpp
src/interface/widgets/dialogs/dlg_view_log.cpp
src/interface/widgets/dialogs/override_printing_warning.cpp
src/interface/widgets/dialogs/tip_of_the_day.cpp
src/filters/deck_filter_string.cpp
src/filters/filter_builder.cpp
src/filters/filter_tree_model.cpp
src/filters/syntax_help.cpp
src/game/abstract_game.cpp
src/game/arrow_registry.cpp
src/game_graphics/board/abstract_card_drag_item.cpp
src/game_graphics/board/abstract_card_item.cpp
src/game_graphics/board/abstract_counter.cpp
src/game/board/arrow_data.cpp
src/game_graphics/board/arrow_item.cpp
src/game_graphics/board/arrow_target.cpp
src/game_graphics/board/card_drag_item.cpp
src/game_graphics/board/card_item.cpp
src/game/board/card_list.cpp
src/game/board/card_state.cpp
src/game_graphics/board/counter_general.cpp
src/game/board/counter_state.cpp
src/game_graphics/board/translate_counter_name.cpp
src/game_graphics/deckview/deck_view.cpp
src/game_graphics/deckview/deck_view_container.cpp
src/game_graphics/deckview/tabbed_deck_view_container.cpp
src/game_graphics/dialogs/dlg_create_token.cpp
src/game_graphics/dialogs/dlg_move_top_cards_until.cpp
src/game_graphics/dialogs/dlg_roll_dice.cpp
src/game/game.cpp
src/game/game_event_handler.cpp
src/game/game_meta_info.cpp
src/game_graphics/game_scene.cpp
src/game/game_state.cpp
src/game_graphics/game_view.cpp
src/game_graphics/hand_counter.cpp
src/game_graphics/log/message_log_widget.cpp
src/game/phase.cpp
src/game_graphics/phases_toolbar.cpp
src/game_graphics/player/menu/card_menu.cpp
src/game_graphics/player/menu/custom_zone_menu.cpp
src/game_graphics/player/menu/grave_menu.cpp
src/game_graphics/player/menu/hand_menu.cpp
src/game_graphics/player/menu/library_menu.cpp
src/game_graphics/player/menu/move_menu.cpp
src/game_graphics/player/menu/player_menu.cpp
src/game_graphics/player/menu/pt_menu.cpp
src/game_graphics/player/menu/rfg_menu.cpp
src/game_graphics/player/menu/say_menu.cpp
src/game_graphics/player/menu/sideboard_menu.cpp
src/game_graphics/player/menu/utility_menu.cpp
src/game_graphics/tally/subtype_tally.cpp
src/game_graphics/tally/tally.cpp
src/game/player/player_actions.cpp
src/game_graphics/player/player_area.cpp
src/game_graphics/player/player_dialogs.cpp
src/game/player/player_event_handler.cpp
src/game_graphics/player/player_graphics_item.cpp
src/game/player/player_info.cpp
src/game_graphics/player/player_list_widget.cpp
src/game/player/player_logic.cpp
src/game/player/player_manager.cpp
src/game_graphics/player/player_target.cpp
src/game/replay.cpp
src/game/zones/card_zone_logic.cpp
src/game/zones/hand_zone_logic.cpp
src/game/zones/pile_zone_logic.cpp
src/game/zones/stack_zone_logic.cpp
src/game/zones/table_zone_logic.cpp
src/game/zones/view_zone_logic.cpp
src/game_graphics/zones/card_zone.cpp
src/game_graphics/zones/hand_zone.cpp
src/game_graphics/zones/pile_zone.cpp
src/game_graphics/zones/select_zone.cpp
src/game_graphics/zones/stack_zone.cpp
src/game_graphics/zones/table_zone.cpp
src/game_graphics/zones/view_zone.cpp
src/game_graphics/zones/view_zone_widget.cpp
src/game_graphics/board/abstract_graphics_item.cpp
src/interface/card_picture_loader/card_picture_loader.cpp
src/interface/card_picture_loader/card_picture_loader_local.cpp
src/interface/card_picture_loader/card_picture_loader_request_status_display_widget.cpp
src/interface/card_picture_loader/card_picture_loader_status_bar.cpp
src/interface/card_picture_loader/card_picture_loader_worker.cpp
src/interface/card_picture_loader/card_picture_loader_worker_work.cpp
src/interface/card_picture_loader/card_picture_to_load.cpp
src/interface/layouts/flow_layout.cpp
src/interface/layouts/overlap_layout.cpp
src/interface/widgets/utility/line_edit_completer.cpp
src/interface/pixel_map_generator.cpp
src/interface/theme_config.cpp
src/interface/theme_manager.cpp
src/interface/palette_editor/color_button.cpp
src/interface/palette_editor/palette_generator.cpp
src/interface/palette_editor/quick_setup_panel.cpp
src/interface/palette_editor/palette_grid_widget.cpp
src/interface/palette_editor/palette_editor_dialog.cpp
src/interface/widgets/cards/additional_info/color_identity_widget.cpp
src/interface/widgets/cards/additional_info/mana_cost_widget.cpp
src/interface/widgets/cards/additional_info/mana_symbol_widget.cpp
src/interface/widgets/cards/card_group_display_widgets/card_group_display_widget.cpp
src/interface/widgets/cards/card_group_display_widgets/flat_card_group_display_widget.cpp
src/interface/widgets/cards/card_group_display_widgets/overlapped_card_group_display_widget.cpp
src/interface/widgets/cards/card_info_display_widget.cpp
src/interface/widgets/cards/card_info_frame_widget.cpp
src/interface/widgets/cards/card_info_picture_art_crop_widget.cpp
src/interface/widgets/cards/card_info_picture_enlarged_widget.cpp
src/interface/widgets/cards/card_info_picture_widget.cpp
src/interface/widgets/cards/card_info_picture_with_text_overlay_widget.cpp
src/interface/widgets/cards/card_info_text_widget.cpp
src/interface/widgets/cards/card_size_widget.cpp
src/interface/widgets/cards/deck_card_zone_display_widget.cpp
src/interface/widgets/cards/deck_preview_card_picture_widget.cpp
src/interface/widgets/deck_analytics/abstract_analytics_panel_widget.cpp
src/interface/widgets/deck_analytics/add_analytics_panel_dialog.cpp
src/interface/widgets/deck_analytics/analytics_panel_widget_factory.cpp
src/interface/widgets/deck_analytics/analytics_panel_widget_registrar.cpp
src/interface/widgets/deck_analytics/deck_analytics_widget.cpp
src/interface/widgets/deck_analytics/deck_list_statistics_analyzer.cpp
src/interface/widgets/deck_analytics/resizable_panel.cpp
src/interface/widgets/deck_analytics/analyzer_modules/draw_probability/draw_probability_config.cpp
src/interface/widgets/deck_analytics/analyzer_modules/draw_probability/draw_probability_config_dialog.cpp
src/interface/widgets/deck_analytics/analyzer_modules/draw_probability/draw_probability_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_base/mana_base_config.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_base/mana_base_config_dialog.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_base/mana_base_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_curve/mana_curve_config.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_curve/mana_curve_config_dialog.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_curve/mana_curve_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_devotion/mana_devotion_config.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_devotion/mana_devotion_config_dialog.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_devotion/mana_devotion_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_config.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_config_dialog.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_single_display_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_curve/mana_curve_total_widget.cpp
src/interface/widgets/deck_analytics/analyzer_modules/mana_curve/mana_curve_category_widget.cpp
src/interface/widgets/deck_editor/card_database_view.cpp
src/interface/widgets/deck_editor/deck_list_history_manager_widget.cpp
src/interface/widgets/deck_editor/deck_editor_card_database_dock_widget.cpp
src/interface/widgets/deck_editor/deck_editor_card_info_dock_widget.cpp
src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp
src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp
src/interface/widgets/deck_editor/deck_editor_filter_dock_widget.cpp
src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp
src/interface/widgets/deck_editor/deck_list_style_proxy.cpp
src/interface/widgets/deck_editor/deck_state_manager.cpp
src/interface/widgets/deck_editor/printing_disabled_info_widget.cpp
src/interface/widgets/general/background_sources.cpp
src/interface/widgets/general/display/background_plate_widget.cpp
src/interface/widgets/general/display/banner_widget.cpp
src/interface/widgets/general/display/dynamic_font_size_label.cpp
src/interface/widgets/general/display/dynamic_font_size_push_button.cpp
src/interface/widgets/general/display/labeled_input.cpp
src/interface/widgets/general/display/shadow_background_label.cpp
src/interface/widgets/general/display/charts/bars/bar_widget.cpp
src/interface/widgets/general/display/charts/bars/color_bar.cpp
src/interface/widgets/general/display/charts/bars/percent_bar_widget.cpp
src/interface/widgets/general/display/charts/bars/bar_chart_widget.cpp
src/interface/widgets/general/display/charts/bars/bar_chart_background_widget.cpp
src/interface/widgets/general/display/charts/bars/segmented_bar_widget.cpp
src/interface/widgets/general/display/charts/pies/color_pie.cpp
src/interface/widgets/general/home_styled_button.cpp
src/interface/widgets/general/home_widget.cpp
src/interface/widgets/general/layout_containers/flow_widget.cpp
src/interface/widgets/general/layout_containers/overlap_control_widget.cpp
src/interface/widgets/general/layout_containers/overlap_widget.cpp
src/interface/widgets/menus/deck_editor_menu.cpp
src/interface/widgets/printing_selector/all_zones_card_amount_widget.cpp
src/interface/widgets/printing_selector/card_amount_widget.cpp
src/interface/widgets/printing_selector/printing_selector.cpp
src/interface/widgets/printing_selector/printing_selector_card_display_widget.cpp
src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp
src/interface/widgets/printing_selector/printing_selector_placeholder_widget.cpp
src/interface/widgets/printing_selector/printing_selector_card_search_widget.cpp
src/interface/widgets/printing_selector/printing_selector_card_selection_widget.cpp
src/interface/widgets/printing_selector/printing_selector_card_sorting_widget.cpp
src/interface/widgets/printing_selector/set_name_and_collectors_number_display_widget.cpp
src/interface/widgets/quick_settings/settings_button_widget.cpp
src/interface/widgets/quick_settings/settings_popup_widget.cpp
src/interface/widgets/replay/replay_manager.cpp
src/interface/widgets/replay/replay_timeline_widget.cpp
src/interface/widgets/server/chat_view/chat_view.cpp
src/interface/widgets/server/game_filter_configs.cpp
src/interface/widgets/server/game_selector.cpp
src/interface/widgets/server/game_selector_quick_filter_toolbar.cpp
src/interface/widgets/server/games_model.cpp
src/interface/widgets/server/handle_public_servers.cpp
src/interface/widgets/server/remote/remote_decklist_tree_widget.cpp
src/interface/widgets/server/remote/remote_replay_list_tree_widget.cpp
src/interface/widgets/server/user/user_avatar_provider.cpp
src/interface/widgets/server/user/user_card_art_provider.cpp
src/interface/widgets/server/user/user_card_settings_dialog.cpp
src/interface/widgets/server/user/user_context_menu.cpp
src/interface/widgets/server/user/user_info_box.cpp
src/interface/widgets/server/user/user_info_connection.cpp
src/interface/widgets/server/user/user_list_manager.cpp
src/interface/widgets/server/user/user_list_painter.cpp
src/interface/widgets/server/user/user_list_widget.cpp
src/interface/widgets/settings_page/appearance_settings_page.cpp
src/interface/widgets/settings_page/deck_editor_settings_page.cpp
src/interface/widgets/settings_page/general_settings_page.cpp
src/interface/widgets/settings_page/messages_settings_page.cpp
src/interface/widgets/settings_page/shortcut_settings_page.cpp
src/interface/widgets/settings_page/sound_settings_page.cpp
src/interface/widgets/settings_page/storage_settings_page.cpp
src/interface/widgets/settings_page/user_interface_settings_page.cpp
src/interface/widgets/utility/custom_line_edit.cpp
src/interface/widgets/utility/get_text_with_max.cpp
src/interface/widgets/utility/sequence_edit.cpp
src/interface/widgets/utility/visibility_change_listener.cpp
src/interface/widgets/utility/visibility_change_listener.h
src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_filter_toolbar_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_format_legality_filter_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_main_type_filter_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_name_filter_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_sub_type_filter_widget.cpp
src/interface/widgets/visual_database_display/visual_database_display_widget.cpp
src/interface/widgets/visual_database_display/visual_database_filter_display_widget.cpp
src/interface/widgets/visual_deck_editor/visual_deck_display_options_widget.cpp
src/interface/widgets/visual_deck_editor/visual_deck_editor_placeholder_widget.cpp
src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp
src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_addition_widget.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_display_widget.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_tag_item_widget.cpp
src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp
src/interface/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp
src/interface/widgets/visual_deck_storage/visual_deck_storage_quick_settings_widget.cpp
src/interface/widgets/visual_deck_storage/visual_deck_storage_search_widget.cpp
src/interface/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp
src/interface/widgets/visual_deck_storage/visual_deck_storage_tag_filter_widget.cpp
src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.cpp
src/interface/window_main.cpp
src/main.cpp
src/interface/widgets/tabs/abstract_tab_deck_editor.cpp
src/interface/widgets/tabs/api/archidekt/tab_archidekt.cpp
src/interface/widgets/tabs/api/archidekt/api_response/archidekt_deck_listing_api_response.cpp
src/interface/widgets/tabs/api/archidekt/api_response/archidekt_formats.h
src/interface/widgets/tabs/api/archidekt/api_response/card/archidekt_api_response_card.cpp
src/interface/widgets/tabs/api/archidekt/api_response/card/archidekt_api_response_card_entry.cpp
src/interface/widgets/tabs/api/archidekt/api_response/card/archidekt_api_response_edition.cpp
src/interface/widgets/tabs/api/archidekt/api_response/deck/archidekt_api_response_deck.cpp
src/interface/widgets/tabs/api/archidekt/api_response/deck/archidekt_api_response_deck_category.cpp
src/interface/widgets/tabs/api/archidekt/api_response/deck_listings/archidekt_api_response_deck_listing_container.cpp
src/interface/widgets/tabs/api/archidekt/api_response/deck_listings/archidekt_api_response_deck_owner.cpp
src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_display_widget.cpp
src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.cpp
src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_listings_display_widget.cpp
src/interface/widgets/tabs/api/archidekt/display/archidekt_deck_preview_image_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/api_response/archidekt_links/edhrec_api_response_archidekt_links.cpp
src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_average_deck_api_response.cpp
src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.cpp
src/interface/widgets/tabs/api/edhrec/api_response/card_prices/edhrec_api_response_card_prices.cpp
src/interface/widgets/tabs/api/edhrec/api_response/cards/edhrec_api_response_card_container.cpp
src/interface/widgets/tabs/api/edhrec/api_response/cards/edhrec_api_response_card_details.cpp
src/interface/widgets/tabs/api/edhrec/api_response/cards/edhrec_api_response_card_list.cpp
src/interface/widgets/tabs/api/edhrec/api_response/cards/edhrec_commander_api_response_commander_details.cpp
src/interface/widgets/tabs/api/edhrec/api_response/commander/edhrec_commander_api_response.cpp
src/interface/widgets/tabs/api/edhrec/api_response/commander/edhrec_commander_api_response_average_deck_statistics.cpp
src/interface/widgets/tabs/api/edhrec/api_response/top_cards/edhrec_top_cards_api_response.cpp
src/interface/widgets/tabs/api/edhrec/api_response/top_commanders/edhrec_top_commanders_api_response.cpp
src/interface/widgets/tabs/api/edhrec/api_response/top_tags/edhrec_top_tags_api_response.cpp
src/interface/widgets/tabs/api/edhrec/display/card_prices/edhrec_api_response_card_prices_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_inclusion_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_list_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_synergy_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_api_response_commander_details_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_navigation_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/top_cards/edhrec_top_cards_api_response_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/top_commander/edhrec_top_commanders_api_response_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/top_tags/edhrec_top_tags_api_response_display_widget.cpp
src/interface/widgets/tabs/api/edhrec/tab_edhrec.cpp
src/interface/widgets/tabs/api/edhrec/tab_edhrec_main.cpp
src/interface/widgets/tabs/tab.cpp
src/interface/widgets/tabs/tab_account.cpp
src/interface/widgets/tabs/tab_admin.cpp
src/interface/widgets/tabs/tab_card_art_rules.cpp
src/interface/widgets/tabs/tab_deck_editor.cpp
src/interface/widgets/tabs/tab_deck_storage.cpp
src/interface/widgets/tabs/tab_game.cpp
src/interface/widgets/tabs/tab_home.cpp
src/interface/widgets/tabs/tab_logs.cpp
src/interface/widgets/tabs/tab_message.cpp
src/interface/widgets/tabs/tab_replays.cpp
src/interface/widgets/tabs/tab_room.cpp
src/interface/widgets/tabs/tab_server.cpp
src/interface/widgets/tabs/tab_supervisor.cpp
src/interface/widgets/tabs/tab_visual_database_display.cpp
src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp
src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual_tab_widget.cpp
src/interface/widgets/tabs/visual_deck_storage/tab_deck_storage_visual.cpp
src/interface/key_signals.cpp
src/interface/logger.cpp
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_bracket_navigation_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_bracket_navigation_widget.h
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_budget_navigation_widget.cpp
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_budget_navigation_widget.h
src/interface/widgets/utility/compact_push_button.cpp
src/interface/widgets/utility/compact_push_button.h
src/interface/widgets/server/user/user_info_popup.cpp
src/interface/widgets/server/user/user_info_popup.h
)
add_subdirectory(sounds)
add_subdirectory(themes)
configure_file(
${CMAKE_SOURCE_DIR}/cockatrice/resources/config/qtlogging.ini ${CMAKE_BINARY_DIR}/cockatrice/qtlogging.ini COPYONLY
)
set(cockatrice_RESOURCES cockatrice.qrc)
if(UPDATE_TRANSLATIONS)
# Cockatrice main sources
file(GLOB_RECURSE translate_cockatrice_SRCS ${CMAKE_SOURCE_DIR}/cockatrice/src/*.cpp
${CMAKE_SOURCE_DIR}/cockatrice/src/*.h
)
# All libcockatrice_* libraries (recursively)
file(GLOB_RECURSE translate_lib_SRCS ${CMAKE_SOURCE_DIR}/libcockatrice_*/**/*.cpp
${CMAKE_SOURCE_DIR}/libcockatrice_*/**/*.h
)
# Combine all sources for translation
set(translate_SRCS ${translate_cockatrice_SRCS} ${translate_lib_SRCS})
set(cockatrice_TS "${CMAKE_CURRENT_SOURCE_DIR}/cockatrice_en@source.ts")
else()
file(GLOB cockatrice_TS "${CMAKE_CURRENT_SOURCE_DIR}/translations/*.ts")
endif()
if(WIN32)
set(cockatrice_SOURCES ${cockatrice_SOURCES} cockatrice.rc)
endif(WIN32)
if(APPLE)
set(MACOSX_BUNDLE_ICON_FILE appicon.icns)
set_source_files_properties(
${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources
)
set(cockatrice_SOURCES ${cockatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns)
endif(APPLE)
if(Qt6_FOUND)
qt6_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
elseif(Qt5_FOUND)
qt5_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
endif()
# Declare path variables
set(ICONDIR
share/icons
CACHE STRING "icon dir"
)
set(DESKTOPDIR
share/applications
CACHE STRING "desktop file destination"
)
set(COCKATRICE_MAC_QM_INSTALL_DIR "cockatrice.app/Contents/Resources/translations")
set(COCKATRICE_UNIX_QM_INSTALL_DIR "share/cockatrice/translations")
set(COCKATRICE_WIN32_QM_INSTALL_DIR "translations")
if(Qt6_FOUND)
qt6_add_executable(
cockatrice
WIN32
MACOSX_BUNDLE
${cockatrice_SOURCES}
${cockatrice_RESOURCES_RCC}
${cockatrice_MOC_SRCS}
MANUAL_FINALIZATION
)
elseif(Qt5_FOUND)
# Qt5 Translations need to be linked at executable creation time
if(Qt5LinguistTools_FOUND)
if(UPDATE_TRANSLATIONS)
qt5_create_translation(cockatrice_QM ${translate_SRCS} ${cockatrice_TS})
else()
qt5_add_translation(cockatrice_QM ${cockatrice_TS})
endif()
endif()
add_executable(
cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_MOC_SRCS} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC}
${cockatrice_SOURCES}
)
if(UNIX)
if(APPLE)
install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_MAC_QM_INSTALL_DIR})
else()
install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_UNIX_QM_INSTALL_DIR})
endif()
elseif(WIN32)
install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_WIN32_QM_INSTALL_DIR})
endif()
endif()
if(Qt5_FOUND)
target_link_libraries(
cockatrice
libcockatrice_card
libcockatrice_deck_list
libcockatrice_filters
libcockatrice_utility
libcockatrice_network
libcockatrice_models
libcockatrice_rng
libcockatrice_settings
${COCKATRICE_QT_MODULES}
)
else()
target_link_libraries(
cockatrice
PUBLIC libcockatrice_card
libcockatrice_deck_list
libcockatrice_filters
libcockatrice_utility
libcockatrice_network
libcockatrice_models
libcockatrice_rng
libcockatrice_settings
${COCKATRICE_QT_MODULES}
)
endif()
if(UNIX)
if(APPLE)
set(MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME}")
set(MACOSX_BUNDLE_GUI_IDENTIFIER "com.cockatrice.${PROJECT_NAME}")
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_NAME}-${PROJECT_VERSION}")
set(MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME}")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
set_target_properties(cockatrice PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/Info.plist)
install(TARGETS cockatrice BUNDLE DESTINATION ./)
else()
# Assume linux
install(TARGETS cockatrice RUNTIME DESTINATION bin/)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/cockatrice.png DESTINATION ${ICONDIR}/hicolor/48x48/apps)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/cockatrice.svg DESTINATION ${ICONDIR}/hicolor/scalable/apps)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cockatrice.desktop DESTINATION ${DESKTOPDIR})
endif()
elseif(WIN32)
install(TARGETS cockatrice RUNTIME DESTINATION ./)
endif()
if(APPLE)
# these needs to be relative to CMAKE_INSTALL_PREFIX
set(plugin_dest_dir cockatrice.app/Contents/Plugins)
set(qtconf_dest_dir cockatrice.app/Contents/Resources)
# Qt plugins: audio (Qt5), iconengines, imageformats, multimedia (Qt6), platforms, printsupport (Qt5), styles, tls (Qt6)
install(
DIRECTORY "${QT_PLUGINS_DIR}/"
DESTINATION ${plugin_dest_dir}
COMPONENT Runtime
FILES_MATCHING
PATTERN "*.dSYM" EXCLUDE
PATTERN "*_debug.dylib" EXCLUDE
PATTERN "audio/*.dylib"
PATTERN "iconengines/*.dylib"
PATTERN "imageformats/*.dylib"
PATTERN "multimedia/*.dylib"
PATTERN "platforms/*.dylib"
PATTERN "printsupport/*.dylib"
PATTERN "styles/*.dylib"
PATTERN "tls/*.dylib"
)
install(
DIRECTORY "${CMAKE_BINARY_DIR}/cockatrice/"
DESTINATION ${qtconf_dest_dir}/
FILES_MATCHING
PATTERN "*.ini"
)
install(
CODE "
file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${qtconf_dest_dir}/qt.conf\" \"[Paths]
Plugins = Plugins
Translations = Resources/translations
Data = Resources\")
"
COMPONENT Runtime
)
install(
CODE "
file(GLOB_RECURSE QTPLUGINS
\"\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/*.dylib\")
set(BU_CHMOD_BUNDLE_ITEMS ON)
include(BundleUtilities)
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/cockatrice.app\" \"\${QTPLUGINS}\" \"${QT_LIBRARY_DIR}\")
"
COMPONENT Runtime
)
endif()
if(WIN32)
# these needs to be relative to CMAKE_INSTALL_PREFIX
set(plugin_dest_dir Plugins)
set(qtconf_dest_dir .)
install(
DIRECTORY "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${CMAKE_BUILD_TYPE}/"
DESTINATION ./
FILES_MATCHING
PATTERN "*.dll"
)
install(
DIRECTORY "${CMAKE_BINARY_DIR}/cockatrice/"
DESTINATION ./
FILES_MATCHING
PATTERN "CMakeFiles" EXCLUDE
PATTERN "*.ini"
)
# Qt plugins: audio (Qt5), iconengines, imageformats, multimedia (Qt6) platforms, printsupport (Qt5), styles, tls (Qt6)
install(
DIRECTORY "${QT_PLUGINS_DIR}/"
DESTINATION ${plugin_dest_dir}
COMPONENT Runtime
FILES_MATCHING
PATTERN "audio/qtaudio_wasapi.dll"
PATTERN "audio/qtaudio_windows.dll"
PATTERN "iconengines/qsvgicon.dll"
PATTERN "imageformats/*.dll"
PATTERN "mediaservice/dsengine.dll"
PATTERN "mediaservice/wmfengine.dll"
PATTERN "multimedia/*.dll"
PATTERN "platforms/qdirect2d.dll"
PATTERN "platforms/qminimal.dll"
PATTERN "platforms/qoffscreen.dll"
PATTERN "platforms/qwindows.dll"
PATTERN "printsupport/windowsprintersupport.dll"
PATTERN "styles/qcertonlybackend.dll"
PATTERN "styles/qopensslbackend.dll"
PATTERN "styles/qschannelbackend.dll"
PATTERN "styles/qwindowsvistastyle.dll"
PATTERN "styles/qwindows11style.dll"
PATTERN "styles/qmodernwindowsstyle.dll"
PATTERN "styles/qmodernwindowsstyled.dll"
PATTERN "tls/qcertonlybackend.dll"
PATTERN "tls/qopensslbackend.dll"
PATTERN "tls/qschannelbackend.dll"
)
install(
CODE "
file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${qtconf_dest_dir}/qt.conf\" \"[Paths]
Plugins = Plugins
Translations = Resources/translations
Data = Resources\")
"
COMPONENT Runtime
)
install(
CODE "
file(GLOB_RECURSE QTPLUGINS
\"\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/*.dll\")
set(BU_CHMOD_BUNDLE_ITEMS ON)
include(BundleUtilities)
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/Cockatrice.exe\" \"\${QTPLUGINS}\" \"${QT_LIBRARY_DIR}\")
"
COMPONENT Runtime
)
if(OPENSSL_FOUND)
install(FILES ${OPENSSL_INCLUDE_DIRS} DESTINATION ./)
endif()
endif()
if(Qt6_FOUND AND Qt6LinguistTools_FOUND)
#Qt6 Translations happen after the executable is built up
if(UPDATE_TRANSLATIONS)
qt6_add_translations(
cockatrice
TS_FILES
${cockatrice_TS}
SOURCES
${translate_SRCS}
QM_FILES_OUTPUT_VARIABLE
cockatrice_QM
)
else()
qt6_add_translations(cockatrice TS_FILES ${cockatrice_TS} QM_FILES_OUTPUT_VARIABLE cockatrice_QM)
endif()
if(UNIX)
if(APPLE)
install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_MAC_QM_INSTALL_DIR})
else()
install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_UNIX_QM_INSTALL_DIR})
endif()
elseif(WIN32)
install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_WIN32_QM_INSTALL_DIR})
endif()
endif()
if(Qt6_FOUND)
qt6_finalize_target(cockatrice)
endif()
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Name=Cockatrice
Exec=cockatrice
Icon=cockatrice
Categories=Game;CardGame;
+404
View File
@@ -0,0 +1,404 @@
<RCC>
<qresource prefix="/">
<file>resources/cardback.svg</file>
<file>resources/cockatrice.svg</file>
<file>resources/hand.svg</file>
<file>resources/hr.jpg</file>
<file>resources/icons/arrow_bottom_green.svg</file>
<file>resources/icons/arrow_down_green.svg</file>
<file>resources/icons/arrow_history.svg</file>
<file>resources/icons/arrow_left_green.svg</file>
<file>resources/icons/arrow_redo.svg</file>
<file>resources/icons/arrow_right_blue.svg</file>
<file>resources/icons/arrow_right_green.svg</file>
<file>resources/icons/arrow_top_green.svg</file>
<file>resources/icons/arrow_up_green.svg</file>
<file>resources/icons/arrow_undo.svg</file>
<file>resources/icons/circle_half_stroke.svg</file>
<file>resources/icons/clearsearch.svg</file>
<file>resources/icons/cogwheel.svg</file>
<file>resources/icons/conceded.svg</file>
<file>resources/icons/decrement.svg</file>
<file>resources/icons/delete.svg</file>
<file>resources/icons/dragon.svg</file>
<file>resources/icons/dropdown_collapsed.svg</file>
<file>resources/icons/dropdown_expanded.svg</file>
<file>resources/icons/filter.svg</file>
<file>resources/icons/floppy_disk.svg</file>
<file>resources/icons/forgot_password.svg</file>
<file>resources/icons/gear.svg</file>
<file>resources/icons/increment.svg</file>
<file>resources/icons/info.svg</file>
<file>resources/icons/lock.svg</file>
<file>resources/icons/not_ready_start.svg</file>
<file>resources/icons/pen_to_square.svg</file>
<file>resources/icons/pencil.svg</file>
<file>resources/icons/pin.svg</file>
<file>resources/icons/player.svg</file>
<file>resources/icons/ready_start.svg</file>
<file>resources/icons/reload.svg</file>
<file>resources/icons/remove_row.svg</file>
<file>resources/icons/rename.svg</file>
<file>resources/icons/scale_balanced.svg</file>
<file>resources/icons/scales.svg</file>
<file>resources/icons/scroll.svg</file>
<file>resources/icons/search.svg</file>
<file>resources/icons/settings.svg</file>
<file>resources/icons/share.svg</file>
<file>resources/icons/sort_arrow_down.svg</file>
<file>resources/icons/spectator.svg</file>
<file>resources/icons/swap.svg</file>
<file>resources/icons/sync.svg</file>
<file>resources/icons/tab_changed.svg</file>
<file>resources/icons/update.png</file>
<file>resources/icons/view.svg</file>
<file>resources/icons/mana/B.svg</file>
<file>resources/icons/mana/C.svg</file>
<file>resources/icons/mana/G.svg</file>
<file>resources/icons/mana/R.svg</file>
<file>resources/icons/mana/U.svg</file>
<file>resources/icons/mana/W.svg</file>
<file>resources/backgrounds/home.png</file>
<file>resources/backgrounds/card_triplet.svg</file>
<file>resources/backgrounds/placeholder_printing_selector.svg</file>
<file>resources/config/general.svg</file>
<file>resources/config/appearance.svg</file>
<file>resources/config/interface.svg</file>
<file>resources/config/messages.svg</file>
<file>resources/config/deckeditor.svg</file>
<file>resources/config/storage.svg</file>
<file>resources/config/shorcuts.svg</file>
<file>resources/config/sound.svg</file>
<file>resources/config/debug.ini</file>
<file>resources/config/qtlogging.ini</file>
<file>resources/counters/w.svg</file>
<file>resources/counters/w_highlight.svg</file>
<file>resources/counters/u.svg</file>
<file>resources/counters/u_highlight.svg</file>
<file>resources/counters/b.svg</file>
<file>resources/counters/b_highlight.svg</file>
<file>resources/counters/r.svg</file>
<file>resources/counters/r_highlight.svg</file>
<file>resources/counters/g.svg</file>
<file>resources/counters/g_highlight.svg</file>
<file>resources/counters/storm.svg</file>
<file>resources/counters/storm_highlight.svg</file>
<file>resources/counters/general.svg</file>
<file>resources/counters/general_highlight.svg</file>
<file>resources/countries/ad.svg</file>
<file>resources/countries/ae.svg</file>
<file>resources/countries/af.svg</file>
<file>resources/countries/ag.svg</file>
<file>resources/countries/ai.svg</file>
<file>resources/countries/al.svg</file>
<file>resources/countries/am.svg</file>
<file>resources/countries/ao.svg</file>
<file>resources/countries/aq.svg</file>
<file>resources/countries/ar.svg</file>
<file>resources/countries/as.svg</file>
<file>resources/countries/at.svg</file>
<file>resources/countries/au.svg</file>
<file>resources/countries/aw.svg</file>
<file>resources/countries/ax.svg</file>
<file>resources/countries/az.svg</file>
<file>resources/countries/ba.svg</file>
<file>resources/countries/bb.svg</file>
<file>resources/countries/bd.svg</file>
<file>resources/countries/be.svg</file>
<file>resources/countries/bf.svg</file>
<file>resources/countries/bg.svg</file>
<file>resources/countries/bh.svg</file>
<file>resources/countries/bi.svg</file>
<file>resources/countries/bj.svg</file>
<file>resources/countries/bl.svg</file>
<file>resources/countries/bm.svg</file>
<file>resources/countries/bn.svg</file>
<file>resources/countries/bo.svg</file>
<file>resources/countries/bq.svg</file>
<file>resources/countries/br.svg</file>
<file>resources/countries/bs.svg</file>
<file>resources/countries/bt.svg</file>
<file>resources/countries/bv.svg</file>
<file>resources/countries/bw.svg</file>
<file>resources/countries/by.svg</file>
<file>resources/countries/bz.svg</file>
<file>resources/countries/ca.svg</file>
<file>resources/countries/cc.svg</file>
<file>resources/countries/cd.svg</file>
<file>resources/countries/cf.svg</file>
<file>resources/countries/cg.svg</file>
<file>resources/countries/ch.svg</file>
<file>resources/countries/ci.svg</file>
<file>resources/countries/ck.svg</file>
<file>resources/countries/cl.svg</file>
<file>resources/countries/cm.svg</file>
<file>resources/countries/cn.svg</file>
<file>resources/countries/co.svg</file>
<file>resources/countries/cr.svg</file>
<file>resources/countries/cu.svg</file>
<file>resources/countries/cv.svg</file>
<file>resources/countries/cw.svg</file>
<file>resources/countries/cx.svg</file>
<file>resources/countries/cy.svg</file>
<file>resources/countries/cz.svg</file>
<file>resources/countries/de.svg</file>
<file>resources/countries/dj.svg</file>
<file>resources/countries/dk.svg</file>
<file>resources/countries/dm.svg</file>
<file>resources/countries/do.svg</file>
<file>resources/countries/dz.svg</file>
<file>resources/countries/ec.svg</file>
<file>resources/countries/ee.svg</file>
<file>resources/countries/eg.svg</file>
<file>resources/countries/eh.svg</file>
<file>resources/countries/er.svg</file>
<file>resources/countries/es.svg</file>
<file>resources/countries/et.svg</file>
<file>resources/countries/eu.svg</file>
<file>resources/countries/fi.svg</file>
<file>resources/countries/fj.svg</file>
<file>resources/countries/fk.svg</file>
<file>resources/countries/fm.svg</file>
<file>resources/countries/fo.svg</file>
<file>resources/countries/fr.svg</file>
<file>resources/countries/ga.svg</file>
<file>resources/countries/gb.svg</file>
<file>resources/countries/gd.svg</file>
<file>resources/countries/ge.svg</file>
<file>resources/countries/gf.svg</file>
<file>resources/countries/gg.svg</file>
<file>resources/countries/gh.svg</file>
<file>resources/countries/gi.svg</file>
<file>resources/countries/gl.svg</file>
<file>resources/countries/gm.svg</file>
<file>resources/countries/gn.svg</file>
<file>resources/countries/gp.svg</file>
<file>resources/countries/gq.svg</file>
<file>resources/countries/gr.svg</file>
<file>resources/countries/gs.svg</file>
<file>resources/countries/gt.svg</file>
<file>resources/countries/gu.svg</file>
<file>resources/countries/gw.svg</file>
<file>resources/countries/gy.svg</file>
<file>resources/countries/hk.svg</file>
<file>resources/countries/hm.svg</file>
<file>resources/countries/hn.svg</file>
<file>resources/countries/hr.svg</file>
<file>resources/countries/ht.svg</file>
<file>resources/countries/hu.svg</file>
<file>resources/countries/id.svg</file>
<file>resources/countries/ie.svg</file>
<file>resources/countries/il.svg</file>
<file>resources/countries/im.svg</file>
<file>resources/countries/in.svg</file>
<file>resources/countries/io.svg</file>
<file>resources/countries/iq.svg</file>
<file>resources/countries/ir.svg</file>
<file>resources/countries/is.svg</file>
<file>resources/countries/it.svg</file>
<file>resources/countries/je.svg</file>
<file>resources/countries/jm.svg</file>
<file>resources/countries/jo.svg</file>
<file>resources/countries/jp.svg</file>
<file>resources/countries/ke.svg</file>
<file>resources/countries/kg.svg</file>
<file>resources/countries/kh.svg</file>
<file>resources/countries/ki.svg</file>
<file>resources/countries/km.svg</file>
<file>resources/countries/kn.svg</file>
<file>resources/countries/kp.svg</file>
<file>resources/countries/kr.svg</file>
<file>resources/countries/kw.svg</file>
<file>resources/countries/ky.svg</file>
<file>resources/countries/kz.svg</file>
<file>resources/countries/la.svg</file>
<file>resources/countries/lb.svg</file>
<file>resources/countries/lc.svg</file>
<file>resources/countries/li.svg</file>
<file>resources/countries/lk.svg</file>
<file>resources/countries/lr.svg</file>
<file>resources/countries/ls.svg</file>
<file>resources/countries/lt.svg</file>
<file>resources/countries/lu.svg</file>
<file>resources/countries/lv.svg</file>
<file>resources/countries/ly.svg</file>
<file>resources/countries/ma.svg</file>
<file>resources/countries/mc.svg</file>
<file>resources/countries/md.svg</file>
<file>resources/countries/me.svg</file>
<file>resources/countries/mf.svg</file>
<file>resources/countries/mg.svg</file>
<file>resources/countries/mh.svg</file>
<file>resources/countries/mk.svg</file>
<file>resources/countries/ml.svg</file>
<file>resources/countries/mm.svg</file>
<file>resources/countries/mn.svg</file>
<file>resources/countries/mo.svg</file>
<file>resources/countries/mp.svg</file>
<file>resources/countries/mq.svg</file>
<file>resources/countries/mr.svg</file>
<file>resources/countries/ms.svg</file>
<file>resources/countries/mt.svg</file>
<file>resources/countries/mu.svg</file>
<file>resources/countries/mv.svg</file>
<file>resources/countries/mw.svg</file>
<file>resources/countries/mx.svg</file>
<file>resources/countries/my.svg</file>
<file>resources/countries/mz.svg</file>
<file>resources/countries/na.svg</file>
<file>resources/countries/nc.svg</file>
<file>resources/countries/ne.svg</file>
<file>resources/countries/nf.svg</file>
<file>resources/countries/ng.svg</file>
<file>resources/countries/ni.svg</file>
<file>resources/countries/nl.svg</file>
<file>resources/countries/no.svg</file>
<file>resources/countries/np.svg</file>
<file>resources/countries/nr.svg</file>
<file>resources/countries/nu.svg</file>
<file>resources/countries/nz.svg</file>
<file>resources/countries/om.svg</file>
<file>resources/countries/pa.svg</file>
<file>resources/countries/pe.svg</file>
<file>resources/countries/pf.svg</file>
<file>resources/countries/pg.svg</file>
<file>resources/countries/ph.svg</file>
<file>resources/countries/pk.svg</file>
<file>resources/countries/pl.svg</file>
<file>resources/countries/pm.svg</file>
<file>resources/countries/pn.svg</file>
<file>resources/countries/pr.svg</file>
<file>resources/countries/ps.svg</file>
<file>resources/countries/pt.svg</file>
<file>resources/countries/pw.svg</file>
<file>resources/countries/py.svg</file>
<file>resources/countries/qa.svg</file>
<file>resources/countries/re.svg</file>
<file>resources/countries/ro.svg</file>
<file>resources/countries/rs.svg</file>
<file>resources/countries/ru.svg</file>
<file>resources/countries/rw.svg</file>
<file>resources/countries/sa.svg</file>
<file>resources/countries/sb.svg</file>
<file>resources/countries/sc.svg</file>
<file>resources/countries/sd.svg</file>
<file>resources/countries/se.svg</file>
<file>resources/countries/sg.svg</file>
<file>resources/countries/sh.svg</file>
<file>resources/countries/si.svg</file>
<file>resources/countries/sj.svg</file>
<file>resources/countries/sk.svg</file>
<file>resources/countries/sl.svg</file>
<file>resources/countries/sm.svg</file>
<file>resources/countries/sn.svg</file>
<file>resources/countries/so.svg</file>
<file>resources/countries/sr.svg</file>
<file>resources/countries/ss.svg</file>
<file>resources/countries/st.svg</file>
<file>resources/countries/sv.svg</file>
<file>resources/countries/sx.svg</file>
<file>resources/countries/sy.svg</file>
<file>resources/countries/sz.svg</file>
<file>resources/countries/tc.svg</file>
<file>resources/countries/td.svg</file>
<file>resources/countries/tf.svg</file>
<file>resources/countries/tg.svg</file>
<file>resources/countries/th.svg</file>
<file>resources/countries/tj.svg</file>
<file>resources/countries/tk.svg</file>
<file>resources/countries/tl.svg</file>
<file>resources/countries/tm.svg</file>
<file>resources/countries/tn.svg</file>
<file>resources/countries/to.svg</file>
<file>resources/countries/tr.svg</file>
<file>resources/countries/tt.svg</file>
<file>resources/countries/tv.svg</file>
<file>resources/countries/tw.svg</file>
<file>resources/countries/tz.svg</file>
<file>resources/countries/ua.svg</file>
<file>resources/countries/ug.svg</file>
<file>resources/countries/um.svg</file>
<file>resources/countries/us.svg</file>
<file>resources/countries/uy.svg</file>
<file>resources/countries/uz.svg</file>
<file>resources/countries/va.svg</file>
<file>resources/countries/vc.svg</file>
<file>resources/countries/ve.svg</file>
<file>resources/countries/vg.svg</file>
<file>resources/countries/vi.svg</file>
<file>resources/countries/vn.svg</file>
<file>resources/countries/vu.svg</file>
<file>resources/countries/wf.svg</file>
<file>resources/countries/ws.svg</file>
<file>resources/countries/xk.svg</file>
<file>resources/countries/ye.svg</file>
<file>resources/countries/yt.svg</file>
<file>resources/countries/za.svg</file>
<file>resources/countries/zm.svg</file>
<file>resources/countries/zw.svg</file>
<file>resources/phases/untap.svg</file>
<file>resources/phases/upkeep.svg</file>
<file>resources/phases/draw.svg</file>
<file>resources/phases/main1.svg</file>
<file>resources/phases/combat_start.svg</file>
<file>resources/phases/combat_attackers.svg</file>
<file>resources/phases/combat_blockers.svg</file>
<file>resources/phases/combat_damage.svg</file>
<file>resources/phases/combat_end.svg</file>
<file>resources/phases/main2.svg</file>
<file>resources/phases/cleanup.svg</file>
<file>resources/phases/nextturn.svg</file>
<file>resources/replay/start.svg</file>
<file>resources/replay/fastforward.svg</file>
<file>resources/replay/pause.svg</file>
<file>resources/usericons/pawn_single.svg</file>
<file>resources/usericons/pawn_double.svg</file>
<file>resources/usericons/pawn_donator_single.svg</file>
<file>resources/usericons/pawn_donator_double.svg</file>
<file>resources/usericons/pawn_judge_single.svg</file>
<file>resources/usericons/pawn_judge_double.svg</file>
<file>resources/usericons/pawn_vip_single.svg</file>
<file>resources/usericons/pawn_vip_double.svg</file>
<file>resources/usericons/star_single.svg</file>
<file>resources/usericons/star_double.svg</file>
<!-- ADD TIP OF THE DAY IMAGES HERE -->
<file>resources/tips/images/accounts_tab.png</file>
<file>resources/tips/images/add_card.png</file>
<file>resources/tips/images/arrows.png</file>
<file>resources/tips/images/card_select.png</file>
<file>resources/tips/images/cockatrice_register.png</file>
<file>resources/tips/images/cockatrice_wiki.png</file>
<file>resources/tips/images/coin_flip.png</file>
<file>resources/tips/images/counter_expression.png</file>
<file>resources/tips/images/discord.png</file>
<file>resources/tips/images/edhrec.png</file>
<file>resources/tips/images/expand_card_view.png</file>
<file>resources/tips/images/face_down.png</file>
<file>resources/tips/images/filter_games.png</file>
<file>resources/tips/images/github_logo.png</file>
<file>resources/tips/images/highlight_cards.png</file>
<file>resources/tips/images/pawns.png</file>
<file>resources/tips/images/setpt.png</file>
<file>resources/tips/images/shortcuts.png</file>
<file>resources/tips/images/syntax_help.png</file>
<file>resources/tips/images/themes.png</file>
<file>resources/tips/images/tip_of_the_day.png</file>
<file>resources/tips/images/token.png</file>
<file>resources/tips/images/updates.png</file>
<file>resources/tips/images/visual_deck_tags.png</file>
<file>resources/tips/tips_of_the_day.xml</file>
<file>resources/help/search.md</file>
<file>resources/help/deck_search.md</file>
</qresource>
</RCC>
+1
View File
@@ -0,0 +1 @@
ID1_ICON1 ICON DISCARDABLE "resources/appicon.ico"
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
width="250"
id="svg13"
height="231.66667"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg">
<defs
id="defs13" />
<g
transform="matrix(1.705559,0,0,1.705559,-18.310328,-4.2419088)"
id="g13">
<path
d="M 90.069854,3.479957 C 89.356513,1.2235709 86.980392,-0.01102897 84.723451,0.70218215 L 3.4767601,26.377781 C 1.2199188,27.090982 -0.01486587,29.46663 0.69839437,31.723116 L 33.512365,135.52112 c 0.713341,2.25639 3.089462,3.49099 5.346403,2.77777 l 81.246672,-25.6756 c 2.25684,-0.71319 3.49163,-3.08884 2.77837,-5.34533 L 90.074852,3.479957 Z"
style="display:none;fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path1" />
<path
d="m 110.61293,7.4983294 c -0.36657,-2.337853 -2.53055,-3.9150142 -4.86886,-3.5484627 L 21.563382,17.14452 c -2.338314,0.366502 -3.915784,2.529976 -3.549207,4.867929 L 34.876507,129.55893 c 0.366577,2.33786 2.530549,3.91502 4.868863,3.54847 l 84.18069,-13.19466 c 2.33831,-0.3665 3.91578,-2.52997 3.5492,-4.86793 L 110.61093,7.4983294 Z"
style="fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path4" />
<path
d="m 130.53623,15.555064 c 0,-2.366441 -1.89356,-4.259575 -4.26046,-4.259575 H 41.067426 c -2.366905,0 -4.260468,1.893134 -4.260468,4.259575 V 124.41102 c 0,2.36644 1.893563,4.25957 4.260468,4.25957 h 85.208344 c 2.3669,0 4.26046,-1.89313 4.26046,-4.25957 z"
style="fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path7" />
<path
d="m 149.43988,26.480639 c 0.38018,-2.335754 -1.1846,-4.508374 -3.52082,-4.88852 L 61.817351,7.9076636 C 59.481136,7.5275576 57.308066,9.0920839 56.927894,11.427736 L 39.439773,118.87426 c -0.380182,2.33576 1.184602,4.50838 3.520816,4.88852 l 84.102711,13.68346 c 2.33622,0.38011 4.50929,-1.18442 4.88946,-3.52007 L 149.43688,26.479639 Z"
style="display:inline;fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path10" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.-->
<svg
version="1.1"
width="172.65051"
id="svg13"
height="213.30714"
xml:space="preserve"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"><defs
id="defs13" /><g
transform="matrix(1.705559,0,0,1.705559,-97.653345,-68.741256)"
id="g13"><path
d="m 151.48519,45.063813 c 0,-2.366441 -1.89356,-4.259575 -4.26046,-4.259575 H 62.016385 c -2.366905,0 -4.260468,1.893134 -4.260468,4.259575 V 153.91977 c 0,2.36644 1.893563,4.25957 4.260468,4.25957 h 85.208345 c 2.3669,0 4.26046,-1.89313 4.26046,-4.25957 z"
style="fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path7" /><path
d="m 154.70135,48.441704 c 0,-2.366441 -1.89356,-4.259575 -4.26046,-4.259575 H 65.232545 c -2.366905,0 -4.260468,1.893134 -4.260468,4.259575 V 157.29767 c 0,2.36644 1.893563,4.25957 4.260468,4.25957 h 85.208345 c 2.3669,0 4.26046,-1.89313 4.26046,-4.25957 z"
style="fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path7-5" /><path
d="m 157.98403,51.75453 c 0,-2.366441 -1.89356,-4.259575 -4.26046,-4.259575 H 68.515228 c -2.366905,0 -4.260468,1.893134 -4.260468,4.259575 v 108.85596 c 0,2.36644 1.893563,4.25957 4.260468,4.25957 h 85.208342 c 2.3669,0 4.26046,-1.89313 4.26046,-4.25957 z"
style="fill:#c0c0c0;fill-opacity:1;stroke:#989898;stroke-width:1;stroke-opacity:1"
id="path7-6" /></g><path
d="m 196.24576,207.42361 c 0,0.11213 0,0.22413 0,0.33621 -0.0498,4.54511 -4.18399,7.63329 -8.72909,7.63329 h -12.19086 c -3.29988,0 -5.97713,2.67727 -5.97713,5.97712 0,0.4234 0.0498,0.83433 0.12449,1.23279 0.26149,1.27014 0.80939,2.49046 1.34485,3.72325 0.75959,1.71843 1.50674,3.4244 1.50674,5.22998 0,3.95986 -2.68971,7.55859 -6.64956,7.72046 -0.43583,0.0128 -0.87166,0.025 -1.31995,0.025 -17.60761,0 -31.878,-14.27038 -31.878,-31.878 0,-17.60761 14.28284,-31.878 31.89046,-31.878 17.60762,0 31.87801,14.27039 31.87801,31.878 z m -47.81703,3.98475 c 0,-2.20407 -1.78067,-3.98475 -3.98473,-3.98475 -2.20407,0 -3.98477,1.78068 -3.98477,3.98475 0,2.20406 1.7807,3.98475 3.98477,3.98475 2.20406,0 3.98473,-1.78069 3.98473,-3.98475 z m 0,-11.95426 c 2.20407,0 3.98477,-1.78068 3.98477,-3.98475 0,-2.20407 -1.7807,-3.98475 -3.98477,-3.98475 -2.20405,0 -3.98473,1.78068 -3.98473,3.98475 0,2.20407 1.78068,3.98475 3.98473,3.98475 z m 19.92376,-11.95424 c 0,-2.20408 -1.78068,-3.98477 -3.98473,-3.98477 -2.20407,0 -3.98477,1.78069 -3.98477,3.98477 0,2.20405 1.7807,3.98474 3.98477,3.98474 2.20405,0 3.98473,-1.78069 3.98473,-3.98474 z m 11.95426,11.95424 c 2.20407,0 3.98475,-1.78068 3.98475,-3.98475 0,-2.20407 -1.78068,-3.98475 -3.98475,-3.98475 -2.20406,0 -3.98475,1.78068 -3.98475,3.98475 0,2.20407 1.78069,3.98475 3.98475,3.98475 z"
id="path1"
style="display:none;fill:#3b3b3b;fill-opacity:1;stroke:#000000;stroke-width:2.53798;stroke-dasharray:none;stroke-opacity:1" /><path
d="M 126.20915,54.574783 82.324247,83.8512 c -5.76807,3.845383 -9.435059,10.089163 -10.029703,16.90777 12.348823,2.53716 22.081191,12.26955 24.638191,24.63819 6.838435,-0.59465 13.062395,-4.26163 16.907775,-10.0297 l 29.2566,-43.904722 c 1.32804,-2.001984 2.04162,-4.340923 2.04162,-6.75915 0,-6.719506 -5.45092,-12.170428 -12.17043,-12.170428 -2.3984,0 -4.75718,0.713573 -6.75915,2.041623 z M 88.052677,131.81933 c 0,-12.26953 -9.930593,-22.20012 -22.200138,-22.20012 -12.269532,0 -22.200126,9.93059 -22.200126,22.20012 0,0.77305 0.03966,1.54609 0.118929,2.2993 0.356787,3.46877 -2.021792,7.21505 -5.510393,7.21505 h -0.951431 c -3.508409,0 -6.342895,2.83447 -6.342895,6.3429 0,3.5084 2.834486,6.34289 6.342895,6.34289 h 28.543021 c 12.269545,0 22.200138,-9.93059 22.200138,-22.20014 z"
id="path1-2"
style="fill:#989898;fill-opacity:1;stroke-width:0.198215" /></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+313
View File
@@ -0,0 +1,313 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="240"
height="340"
id="svg2"
sodipodi:version="0.32"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0"
inkscape:export-xdpi="90"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
sodipodi:docname="cardback.svg"
inkscape:export-ydpi="90"
inkscape:export-filename="cardback.svg"
xmlns="http://www.w3.org/2000/svg">
<defs
id="defs4">
<linearGradient
id="linearGradient5266">
<stop
style="stop-color:#806600;stop-opacity:1;"
offset="0"
id="stop5268" />
<stop
style="stop-color:#382d00;stop-opacity:1;"
offset="1"
id="stop5270" />
</linearGradient>
<linearGradient
id="linearGradient3009">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3011" />
<stop
style="stop-color:#a0872c;stop-opacity:1;"
offset="1"
id="stop3013" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3009"
id="linearGradient3015"
x1="10.096291"
y1="329.42294"
x2="229.81081"
y2="12.591727"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5266"
id="linearGradient5272"
x1="165.86763"
y1="23.649557"
x2="12.980947"
y2="327.98059"
gradientUnits="userSpaceOnUse" />
<linearGradient
y2="38.523342"
x2="-25.41811"
y1="37.909077"
x1="-20.65873"
gradientUnits="userSpaceOnUse"
id="linearGradient5324-8"
xlink:href="#linearGradient4766-8"
inkscape:collect="always" />
<linearGradient
id="linearGradient4766-8">
<stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768-2" />
<stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770-7" />
</linearGradient>
<linearGradient
y2="38.523342"
x2="-25.41811"
y1="37.909077"
x1="-20.65873"
gradientUnits="userSpaceOnUse"
id="linearGradient5324-8-2"
xlink:href="#linearGradient4766-8-6"
inkscape:collect="always" />
<linearGradient
id="linearGradient4766-8-6">
<stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768-2-0" />
<stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770-7-4" />
</linearGradient>
<linearGradient
y2="38.523342"
x2="-25.41811"
y1="37.909077"
x1="-20.65873"
gradientUnits="userSpaceOnUse"
id="linearGradient5324-8-6"
xlink:href="#linearGradient4766-8-0"
inkscape:collect="always" />
<linearGradient
id="linearGradient4766-8-0">
<stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768-2-3" />
<stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770-7-6" />
</linearGradient>
<linearGradient
y2="38.523342"
x2="-25.41811"
y1="37.909077"
x1="-20.65873"
gradientUnits="userSpaceOnUse"
id="linearGradient5324-8-8"
xlink:href="#linearGradient4766-8-8"
inkscape:collect="always" />
<linearGradient
id="linearGradient4766-8-8">
<stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768-2-1" />
<stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770-7-2" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4707622"
inkscape:cx="-159.7811"
inkscape:cy="160.80098"
inkscape:document-units="px"
inkscape:current-layer="layer5"
showgrid="false"
inkscape:window-width="841"
inkscape:window-height="1386"
inkscape:window-x="1707"
inkscape:window-y="42"
inkscape:window-maximized="0"
inkscape:showpageshadow="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"/>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="boarder"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-opacity:0"
id="rect3004"
width="240"
height="340"
x="0"
y="0.57232106"
rx="10"
ry="10" />
<rect
style="fill:url(#linearGradient3015);fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00535154;stroke-opacity:0;display:inline"
id="rect3007"
width="220.67607"
height="318.77353"
x="10.096291"
y="11.610939" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="inlay"
style="display:inline"
sodipodi:insensitive="true">
<rect
style="fill:url(#linearGradient5272);fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99697781;stroke-opacity:0"
id="rect3017"
width="214.61836"
height="313.6048"
x="13.201575"
y="14.135432" />
<rect
style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
id="rect5293"
width="208.1759"
height="306.25415"
x="16.346376"
y="17.399473" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="dots"
sodipodi:insensitive="true"
style="display:inline">
<circle
style="display:inline;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5297-7"
transform="translate(118.51147,240.79097)"
cx="-96.635925"
cy="76.534889"
r="2.8846545"/>
<ellipse
style="display:inline;fill:url(#linearGradient5324-8);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5299-6-1"
transform="matrix(-1.3207348,0.77962891,-1.166227,-1.9837166,33.337282,413.41782)"
cx="-24.925219"
cy="38.493507"
rx="1.4573514"
ry="1.1418424"/>
<circle
style="display:inline;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5297-7-9"
transform="translate(315.44172,241.93405)"
cx="-96.635925"
cy="76.534889"
r="2.8846545"/>
<ellipse
style="display:inline;fill:url(#linearGradient5324-8-2);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5299-6-1-4"
transform="matrix(-1.3207348,0.77962891,-1.166227,-1.9837166,230.26753,414.56091)"
cx="-24.925219"
cy="38.493507"
rx="1.4573514"
ry="1.1418424"/>
<circle
style="display:inline;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5297-7-2"
transform="translate(315.09322,-53.911687)"
cx="-96.635925"
cy="76.534889"
r="2.8846545"/>
<ellipse
style="display:inline;fill:url(#linearGradient5324-8-6);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5299-6-1-45"
transform="matrix(-1.3207348,0.77962891,-1.166227,-1.9837166,229.91903,118.71517)"
cx="-24.925219"
cy="38.493507"
rx="1.4573514"
ry="1.1418424"/>
<circle
style="display:inline;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5297-7-1"
transform="translate(118.42648,-53.571727)"
cx="-96.635925"
cy="76.534889"
r="2.8846545"/>
<ellipse
style="display:inline;fill:url(#linearGradient5324-8-8);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5299-6-1-49"
transform="matrix(-1.3207348,0.77962891,-1.166227,-1.9837166,33.252292,119.05512)"
cx="-24.925219"
cy="38.493507"
rx="1.4573514"
ry="1.1418424"/>
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="oval"
sodipodi:insensitive="true"
style="display:inline">
<ellipse
style="fill:#2c9be5;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
id="path5461"
transform="matrix(1.4485349,0,0,1,242.31301,14.423272)"
cx="-84.135757"
cy="155.38211"
rx="69.231705"
ry="144.23273"/>
<ellipse
style="fill:#c87137;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:0"
id="path5461-8"
transform="matrix(1.4086499,0,0,0.98333097,239.30154,17.255274)"
cx="-84.135757"
cy="155.38211"
rx="69.231705"
ry="144.23273"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 64 KiB

@@ -0,0 +1,596 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg4576"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="icon_config_appearance.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs4578">
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective4584" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0202704,0,0,1.0264038,-0.559587,-1.1272497)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0489761,0,0,1.0704672,-1.576142,-1.64517)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.5"
inkscape:cx="24.19118"
inkscape:cy="35.196569"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1280"
inkscape:window-height="725"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0" />
<metadata
id="metadata4581">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:url(#linearGradient6470);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.02333248;stroke-opacity:1"
id="rect6462"
width="62.885757"
height="62.703938"
x="0.73893893"
y="0.73893905"
ry="5.7851849" />
<rect
style="fill:url(#linearGradient6488);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect6472"
width="61.00872"
height="13.601046"
x="1.6774582"
y="1.8697189"
ry="4.8575158" />
<g
id="g6424"
transform="matrix(1.1854009,0,0,1.1925269,-16.760601,-47.609371)">
<path
sodipodi:type="arc"
style="opacity:0.4;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000"
id="use6280"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="translate(22.909092,39.272728)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.39599998;fill:#ff2900;fill-opacity:1;fill-rule:nonzero;stroke:#ff2900"
id="use6282"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.9848078,0.1736482,-0.1736482,0.9848078,27.885457,36.574419)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.39200003;fill:#ff5200;fill-opacity:1;fill-rule:nonzero;stroke:#ff5200"
id="use6284"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.9396926,0.3420201,-0.3420201,0.9396926,33.25478,34.78124)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.38800001;fill:#ff7c00;fill-opacity:1;fill-rule:nonzero;stroke:#ff7c00"
id="use6286"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.8660254,0.5,-0.5,0.8660254,38.85391,33.947676)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.38399999;fill:#ffa500;fill-opacity:1;fill-rule:nonzero;stroke:#ffa500"
id="use6288"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.7660444,0.6427876,-0.6427876,0.7660444,44.512724,34.099055)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.37999998;fill:#ffcf00;fill-opacity:1;fill-rule:nonzero;stroke:#ffcf00"
id="use6290"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.6427876,0.7660444,-0.7660444,0.6427876,50.059282,35.230777)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.37600002;fill:#fff800;fill-opacity:1;fill-rule:nonzero;stroke:#fff800"
id="use6292"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.5,0.8660254,-0.8660254,0.5,55.325053,37.308456)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.37200006;fill:#ddff00;fill-opacity:1;fill-rule:nonzero;stroke:#ddff00"
id="use6294"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.3420201,0.9396926,-0.9396926,0.3420201,60.150041,40.268961)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.36799999;fill:#b4ff00;fill-opacity:1;fill-rule:nonzero;stroke:#b4ff00"
id="use6296"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.1736482,0.9848078,-0.9848078,0.1736482,64.387638,44.022341)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.36400003;fill:#8aff00;fill-opacity:1;fill-rule:nonzero;stroke:#8aff00"
id="use6298"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0,1,-1,0,67.909092,48.454548)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.36000001;fill:#61ff00;fill-opacity:1;fill-rule:nonzero;stroke:#61ff00"
id="use6300"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.1736482,0.9848078,-0.9848078,-0.1736482,70.6074,53.430914)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.356;fill:#37ff00;fill-opacity:1;fill-rule:nonzero;stroke:#37ff00"
id="use6302"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.3420201,0.9396926,-0.9396926,-0.3420201,72.40058,58.800236)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.35199998;fill:#0eff00;fill-opacity:1;fill-rule:nonzero;stroke:#0eff00"
id="use6304"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.5,0.8660254,-0.8660254,-0.5,73.234143,64.399366)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.34800002;fill:#00ff1b;fill-opacity:1;fill-rule:nonzero;stroke:#00ff1b"
id="use6306"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.6427876,0.7660444,-0.7660444,-0.6427876,73.082764,70.05818)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.344;fill:#00ff44;fill-opacity:1;fill-rule:nonzero;stroke:#00ff44"
id="use6308"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.7660444,0.6427876,-0.6427876,-0.7660444,71.951042,75.604738)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.33999999;fill:#00ff6e;fill-opacity:1;fill-rule:nonzero;stroke:#00ff6e"
id="use6310"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.8660254,0.5,-0.5,-0.8660254,69.873364,80.870509)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.33599997;fill:#00ff97;fill-opacity:1;fill-rule:nonzero;stroke:#00ff97"
id="use6312"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.9396926,0.3420201,-0.3420201,-0.9396926,66.912859,85.6955)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.33200001;fill:#00ffc1;fill-opacity:1;fill-rule:nonzero;stroke:#00ffc1"
id="use6314"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.9848078,0.1736482,-0.1736482,-0.9848078,63.159479,89.933097)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.32799994;fill:#00ffea;fill-opacity:1;fill-rule:nonzero;stroke:#00ffea"
id="use6316"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-1,0,0,-1,58.727272,93.454552)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.32399998;fill:#00ecff;fill-opacity:1;fill-rule:nonzero;stroke:#00ecff"
id="use6318"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.9848078,-0.1736482,0.1736482,-0.9848078,53.750906,96.152852)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.32000002;fill:#00c2ff;fill-opacity:1;fill-rule:nonzero;stroke:#00c2ff"
id="use6320"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.9396926,-0.3420201,0.3420201,-0.9396926,48.381584,97.946041)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.31600001;fill:#0099ff;fill-opacity:1;fill-rule:nonzero;stroke:#0099ff"
id="use6322"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.8660254,-0.5,0.5,-0.8660254,42.782454,98.779604)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.31199999;fill:#006fff;fill-opacity:1;fill-rule:nonzero;stroke:#006fff"
id="use6324"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.7660444,-0.6427876,0.6427876,-0.7660444,37.12364,98.628219)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.30799997;fill:#0046ff;fill-opacity:1;fill-rule:nonzero;stroke:#0046ff"
id="use6326"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.6427876,-0.7660444,0.7660444,-0.6427876,31.577082,97.496499)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.30400002;fill:#001cff;fill-opacity:1;fill-rule:nonzero;stroke:#001cff"
id="use6328"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,26.311311,95.41882)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.3;fill:#0c00ff;fill-opacity:1;fill-rule:nonzero;stroke:#0c00ff"
id="use6330"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.3420201,-0.9396926,0.9396926,-0.3420201,21.486323,92.458315)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.29599998;fill:#3600ff;fill-opacity:1;fill-rule:nonzero;stroke:#3600ff"
id="use6332"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(-0.1736482,-0.9848078,0.9848078,-0.1736482,17.248725,88.704935)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.29200003;fill:#5f00ff;fill-opacity:1;fill-rule:nonzero;stroke:#5f00ff"
id="use6334"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0,-1,1,0,13.727272,84.272728)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.28800001;fill:#8900ff;fill-opacity:1;fill-rule:nonzero;stroke:#8900ff"
id="use6336"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.1736482,-0.9848078,0.9848078,0.1736482,11.028963,79.296362)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.28399999;fill:#b200ff;fill-opacity:1;fill-rule:nonzero;stroke:#b200ff"
id="use6338"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.3420201,-0.9396926,0.9396926,0.3420201,9.2357838,73.92704)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.27999998;fill:#dc00ff;fill-opacity:1;fill-rule:nonzero;stroke:#dc00ff"
id="use6340"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.5,-0.8660254,0.8660254,0.5,8.4022205,68.32791)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.27600002;fill:#ff00fa;fill-opacity:1;fill-rule:nonzero;stroke:#ff00fa"
id="use6342"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.6427876,-0.7660444,0.7660444,0.6427876,8.5535989,62.669096)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.27200006;fill:#ff00d0;fill-opacity:1;fill-rule:nonzero;stroke:#ff00d0"
id="use6344"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.7660444,-0.6427876,0.6427876,0.7660444,9.6853214,57.122538)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.26799999;fill:#ff00a7;fill-opacity:1;fill-rule:nonzero;stroke:#ff00a7"
id="use6346"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.8660254,-0.5,0.5,0.8660254,11.763,51.856767)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.26400003;fill:#ff007d;fill-opacity:1;fill-rule:nonzero;stroke:#ff007d"
id="use6348"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.9396926,-0.3420201,0.3420201,0.9396926,14.723504,47.031779)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
<path
sodipodi:type="arc"
style="opacity:0.26000001;fill:#ff0054;fill-opacity:1;fill-rule:nonzero;stroke:#ff0054"
id="use6350"
sodipodi:cx="17.90909"
sodipodi:cy="15.545455"
sodipodi:rx="11.545455"
sodipodi:ry="11.545455"
d="m 29.454545,15.545455 c 0,6.376379 -5.169076,11.545455 -11.545455,11.545455 -6.376379,0 -11.5454549,-5.169076 -11.5454549,-11.545455 C 6.3636351,9.1690763 11.532711,4 17.90909,4 24.285469,4 29.454545,9.1690763 29.454545,15.545455 z"
transform="matrix(0.9848078,-0.1736482,0.1736482,0.9848078,18.476885,42.794181)"
inkscape:transform-center-y="-11.545455"
inkscape:tile-x0="6.1818169"
inkscape:tile-y0="20.181818" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

+11
View File
@@ -0,0 +1,11 @@
[debug]
showCardId=false
[localgame]
onStartup=false
playerCount=1
;deck\Player 1=path/to/deck
;deck\Player 2=path/to/deck
; Fun Fact: You can assign a deck to your username and it will auto load and ready when you join a server game
;deck\Your Username Here=path/to/deck
@@ -0,0 +1,268 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="62.636364"
height="62.090908"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
sodipodi:docname="icon_config_deckeditor.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0">
<defs
id="defs4">
<linearGradient
id="linearGradient3169">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop3171" />
<stop
style="stop-color:#000067;stop-opacity:1;"
offset="1"
id="stop3173" />
</linearGradient>
<linearGradient
id="linearGradient4766">
<stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768" />
<stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770" />
</linearGradient>
<linearGradient
id="linearGradient4758">
<stop
style="stop-color:#a05a2c;stop-opacity:1;"
offset="0"
id="stop4760" />
<stop
style="stop-color:#3d2210;stop-opacity:1;"
offset="1"
id="stop4762" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<inkscape:perspective
id="perspective2484"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4758"
id="linearGradient4764"
x1="466.09601"
y1="485.96021"
x2="715.14801"
y2="485.96021"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4766"
id="linearGradient4772"
x1="496.548"
y1="485.26816"
x2="683.31201"
y2="485.26816"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4766"
id="linearGradient2396"
gradientUnits="userSpaceOnUse"
x1="661.24402"
y1="602.90814"
x2="431.5"
y2="201.5482"
gradientTransform="matrix(0.14475192,0,0,0.11773518,116.85698,123.08218)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4758"
id="linearGradient2399"
gradientUnits="userSpaceOnUse"
x1="590.62201"
y1="434.7522"
x2="698.54004"
y2="517.79218"
gradientTransform="matrix(0.14475192,0,0,0.11773518,116.85698,123.08218)" />
<filter
inkscape:collect="always"
id="filter3287"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.88403668"
id="feGaussianBlur3289" />
</filter>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3169"
id="radialGradient3175"
cx="120.07376"
cy="56.138123"
fx="120.07376"
fy="56.138123"
r="82.790039"
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0281354,0,0,1.0429299,85.21874,131.0326)" />
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" />
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<linearGradient
y2="62.909088"
x2="31.09091"
y1="1.8181819"
x1="32.090908"
gradientTransform="translate(86.2151,131.5372)"
gradientUnits="userSpaceOnUse"
id="linearGradient4477"
xlink:href="#linearGradient6464"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4707622"
inkscape:cx="36.962851"
inkscape:cy="-68.56223"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="977"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-86.987816,-132.85536)">
<rect
style="fill:url(#linearGradient4477);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
id="rect6462"
width="61.636364"
height="61.090908"
x="87.487816"
y="133.35536"
ry="5.6363635" />
<rect
style="fill:url(#linearGradient6488);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect6472"
width="59.796619"
height="13.251164"
x="88.407707"
y="134.45705"
ry="4.7325583" />
<path
style="fill:#422c0c;fill-opacity:1;stroke:#000000;stroke-width:0.15000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 92.46906,177.2095 -0.20397,7.03716 c 14.21053,0.14748 21.58722,-0.008 35.79776,-0.0781 l 17.43994,-34.1361 0.20398,-7.09088 -17.84789,34.16596 z"
id="path3227"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<rect
style="fill:url(#linearGradient2399);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.61093044;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2490"
width="33.155716"
height="38.047775"
x="185.7728"
y="161.27292"
transform="matrix(1,0,-0.46132152,0.88723303,0,0)" />
<rect
style="fill:url(#linearGradient2396);fill-opacity:1;stroke:#000000;stroke-width:0.26109305;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3302"
width="26.744946"
height="32.833519"
x="188.87802"
y="163.79858"
transform="matrix(1,0,-0.46132152,0.88723303,0,0)" />
<path
sodipodi:type="arc"
style="opacity:0.39208954;fill:#a05a2c;stroke:#000000;stroke-width:2.00029755;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;filter:url(#filter3287)"
id="path3304"
sodipodi:cx="589.58398"
sodipodi:cy="489.76617"
sodipodi:rx="71.968002"
sodipodi:ry="128.71201"
d="m 661.55199,489.76617 c 0,71.08568 -32.22118,128.71201 -71.96801,128.71201 -39.74683,0 -71.968,-57.62633 -71.968,-128.71201 0,-71.08567 32.22117,-128.712 71.968,-128.712 39.74683,0 71.96801,57.62633 71.96801,128.712 z"
transform="matrix(0.17099679,0,-0.05558581,0.10690498,45.60803,107.46226)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

+292
View File
@@ -0,0 +1,292 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg3715"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="icon_config_general.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs3717">
<linearGradient
id="linearGradient3372">
<stop
id="stop3374"
offset="0"
style="stop-color:#0053ff;stop-opacity:1;" />
<stop
id="stop3376"
offset="1"
style="stop-color:#008eff;stop-opacity:0.30980393;" />
</linearGradient>
<linearGradient
id="linearGradient3172">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3174" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3176" />
</linearGradient>
<linearGradient
id="linearGradient3701">
<stop
id="stop3709"
offset="0"
style="stop-color:#ffffff;stop-opacity:0.30588236;" />
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="1"
id="stop3711" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3628"
id="linearGradient3667"
gradientUnits="userSpaceOnUse"
x1="232.7204"
y1="270.24258"
x2="405.1579"
y2="270.24258" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3628"
id="linearGradient3665"
gradientUnits="userSpaceOnUse"
x1="298.79843"
y1="421.66565"
x2="471.55374"
y2="421.66565" />
<linearGradient
id="linearGradient3628">
<stop
id="stop3630"
offset="0"
style="stop-color:#456b92;stop-opacity:1;" />
<stop
style="stop-color:#90b2dd;stop-opacity:1;"
offset="0.5"
id="stop3634" />
<stop
id="stop3636"
offset="0.75"
style="stop-color:#91b8e9;stop-opacity:1;" />
<stop
style="stop-color:#7597bc;stop-opacity:1;"
offset="0.875"
id="stop3638" />
<stop
id="stop3632"
offset="1"
style="stop-color:#79a9d9;stop-opacity:1;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3628"
id="linearGradient3663"
gradientUnits="userSpaceOnUse"
x1="129.40549"
y1="395.69638"
x2="301.84299"
y2="395.69638" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective3723" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3628"
id="linearGradient3846"
gradientUnits="userSpaceOnUse"
x1="129.40549"
y1="395.69638"
x2="301.84299"
y2="395.69638" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3628"
id="linearGradient3848"
gradientUnits="userSpaceOnUse"
x1="298.79843"
y1="421.66565"
x2="471.55374"
y2="421.66565" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3628"
id="linearGradient3850"
gradientUnits="userSpaceOnUse"
x1="232.7204"
y1="270.24258"
x2="405.1579"
y2="270.24258" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3172"
id="linearGradient3178"
x1="32.909092"
y1="1.8181818"
x2="32.909092"
y2="15.636364"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3372"
id="linearGradient3370"
x1="32.090912"
y1="1.0909164"
x2="32.090912"
y2="67.636368"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9859962,0,0,0.9859962,0.3584832,-1.3322407e-3)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" />
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<linearGradient
y2="62.909088"
x2="31.09091"
y1="1.8181819"
x1="32.090908"
gradientTransform="matrix(1.0188073,0,0,1.0264157,-0.59868968,-1.2688528)"
gradientUnits="userSpaceOnUse"
id="linearGradient3045"
xlink:href="#linearGradient6464"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0489761,0,0,1.0704672,-1.576142,-1.64517)" />
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
y2="13.02554"
x2="32.18182"
y1="3.2835093"
x1="32.18182"
gradientTransform="matrix(1.0583546,0,0,1.0704672,-1.9688677,-2.3154113)"
gradientUnits="userSpaceOnUse"
id="linearGradient3045-1"
xlink:href="#linearGradient6482"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.5"
inkscape:cx="-10.082463"
inkscape:cy="25.822073"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0" />
<metadata
id="metadata3720">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:url(#linearGradient3045);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.02260447;stroke-opacity:1"
id="rect6462"
width="62.795578"
height="62.704666"
x="0.69797516"
y="0.59735847"
ry="5.7852521" />
<rect
style="fill:url(#linearGradient3045-1);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect6472"
width="61.554176"
height="13.601046"
x="1.3138213"
y="1.1994778"
ry="4.8575158" />
<g
id="g3658"
transform="matrix(0.15897276,0,0,0.16669822,-15.816182,-26.391316)">
<path
id="path3576"
d="m 218.53049,309.80577 -3.09375,6.3125 -1.125,4.8125 0.0312,1.5625 -7,0.4375 -0.1875,-1.53125 -1.6875,-4.65625 -3.875,-5.84375 -4.5,0.84375 -1.46875,6.875 0.125,4.9375 0.40625,1.53125 -6.65625,2.15625 -0.5625,-1.46875 -2.8125,-4.0625 -5.1875,-4.71875 -4.15625,1.9375 0.3125,7.03125 1.34375,4.75 0.78125,1.375 -5.9375,3.75 -0.90625,-1.28125 -3.71875,-3.21875 -6.21875,-3.28125 -3.53125,2.90625 2.0625,6.75 2.46875,4.25 1.09375,1.125 -4.8125,5.125 -1.1875,-1.03125 -4.40625,-2.1875 -6.84375,-1.625 -2.71875,3.6875 3.6875,6 3.4375,3.53125 1.34375,0.8125 -3.375,6.15625 -1.40625,-0.6875 -4.8125,-1.03125 -7.03125,0.125 -1.6875,4.25 5.03125,4.90625 4.21875,2.53125 1.5,0.46875 -1.75,6.8125 -1.53125,-0.34375 -4.9375,0.21875 -6.78125,1.875 -0.5625,4.53125 6.09375,3.5 4.75,1.40625 1.5625,0.0937 0,7 -1.5625,0.0625 -4.75,1.4375 -6.09375,3.5 0.5625,4.53125 6.78125,1.875 4.9375,0.1875 1.53125,-0.3125 1.75,6.78125 -1.5,0.46875 -4.21875,2.5625 -5.03125,4.90625 1.6875,4.25 7.03125,0.125 4.8125,-1.03125 1.40625,-0.6875 3.375,6.15625 -1.34375,0.8125 -3.4375,3.5 -3.6875,6 2.71875,3.71875 6.84375,-1.625 4.40625,-2.21875 1.1875,-1 4.8125,5.125 -1.09375,1.125 -2.46875,4.25 -2.0625,6.71875 3.53125,2.9375 6.21875,-3.28125 3.71875,-3.25 0.90625,-1.28125 5.9375,3.78125 -0.78125,1.34375 -1.34375,4.75 -0.3125,7.03125 4.15625,1.96875 5.1875,-4.75 2.8125,-4.03125 0.5625,-1.46875 6.65625,2.15625 -0.40625,1.5 -0.125,4.9375 1.46875,6.90625 4.5,0.84375 3.875,-5.875 1.6875,-4.625 0.1875,-1.5625 7,0.4375 -0.0312,1.5625 1.125,4.8125 3.09375,6.3125 4.59375,-0.28125 2.28125,-6.65625 0.5,-4.90625 -0.21875,-1.5625 6.875,-1.3125 0.375,1.53125 2.28125,4.375 4.59375,5.34375 4.34375,-1.40625 0.5625,-7.03125 -0.71875,-4.875 -0.59375,-1.4375 6.34375,-3 0.71875,1.40625 3.3125,3.65625 5.75,4.03125 3.875,-2.4375 -1.1875,-6.9375 -1.9375,-4.53125 -0.9375,-1.28125 5.40625,-4.46875 1.0625,1.15625 4.09375,2.75 6.59375,2.46875 3.125,-3.34375 -2.875,-6.40625 -3,-3.9375 -1.21875,-0.96875 4.125,-5.6875 1.3125,0.875 4.65625,1.625 7,0.78125 2.1875,-4.03125 -4.375,-5.5 -3.875,-3.0625 -1.4375,-0.625 2.59375,-6.53125 1.46875,0.5 4.9375,0.4375 6.9375,-1 1.15625,-4.4375 -5.625,-4.25 -4.5,-2 -1.5625,-0.28125 0.875,-6.9375 1.5625,0.125 4.875,-0.8125 6.5,-2.71875 0,-4.5625 -6.5,-2.71875 -4.875,-0.8125 -1.5625,0.125 -0.875,-6.96875 1.5625,-0.25 4.5,-2 5.625,-4.25 -1.15625,-4.4375 -6.9375,-1 -4.9375,0.4375 -1.46875,0.5 -2.59375,-6.53125 1.4375,-0.65625 3.875,-3.03125 4.375,-5.5 -2.1875,-4.03125 -7,0.75 -4.65625,1.65625 -1.3125,0.84375 -4.125,-5.65625 1.21875,-1 3,-3.90625 2.875,-6.4375 -3.125,-3.34375 -6.59375,2.5 -4.09375,2.71875 -1.0625,1.15625 -5.40625,-4.46875 0.9375,-1.25 1.9375,-4.53125 1.1875,-6.9375 -3.875,-2.46875 -5.75,4.03125 -3.3125,3.6875 -0.71875,1.375 -6.34375,-2.96875 0.59375,-1.46875 0.71875,-4.875 -0.5625,-7 -4.34375,-1.40625 -4.59375,5.3125 -2.28125,4.375 -0.375,1.53125 -6.875,-1.3125 0.21875,-1.53125 -0.5,-4.9375 -2.28125,-6.625 -4.59375,-0.3125 z m -2.90625,22.15625 c 7.71749,0 15.10097,1.42838 21.9375,4 l -15.5625,28.71875 c -2.21207,-0.5418 -4.50406,-0.84375 -6.875,-0.84375 -8.41721,0 -16.03429,3.62553 -21.46875,9.4375 l -28.625,-15.53125 c 11.49205,-15.62948 29.87439,-25.78125 50.59375,-25.78125 z m 38.0625,12.96875 c 15.16986,11.64435 24.96875,30.04618 24.96875,50.78125 0,7.60476 -1.30018,14.92375 -3.71875,21.6875 l -30.5,-16.5625 c 0.3675,-1.94112 0.5625,-3.94775 0.5625,-6 0,-7.79489 -2.75805,-14.92599 -7.34375,-20.375 l 16.03125,-29.53125 z m -97.3125,29.09375 29.21875,15.875 c -0.24846,1.60786 -0.375,3.25739 -0.375,4.9375 0,8.47403 3.27426,16.15222 8.59375,21.75 l -16.21875,29.9375 c -15.17113,-11.64426 -25,-30.07641 -25,-50.8125 0,-7.61892 1.35408,-14.91314 3.78125,-21.6875 z m 58.28125,1.9375 c 0.3176,-0.0171 0.64717,0 0.96875,0 10.2905,-10e-6 18.65625,8.84846 18.65625,19.75 0,10.90154 -8.36575,19.71875 -18.65625,19.71875 -10.2905,1e-5 -18.65625,-8.81721 -18.65625,-19.71875 0,-10.56086 7.84203,-19.22073 17.6875,-19.75 z m 21.1875,41.1875 30.40625,16.53125 c -11.49036,15.64878 -29.89062,25.78125 -50.625,25.78125 -7.72767,0 -15.12468,-1.39066 -21.96875,-3.96875 l 16.34375,-30.09375 c 1.66202,0.29753 3.38143,0.4375 5.125,0.4375 8.04746,0 15.34294,-3.3181 20.71875,-8.6875 z"
style="fill:url(#linearGradient3846);fill-opacity:1;stroke:#000000"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient3848);fill-opacity:1;stroke:#000000"
d="m 414.44011,340.65881 -4.87909,5.06098 -2.54543,4.23634 -0.44901,1.49692 -6.79737,-1.72833 0.29069,-1.51505 -0.17967,-4.94935 -1.89812,-6.74998 -4.54208,-0.57561 -3.50459,6.09431 -1.39385,4.73832 -0.0825,1.58207 -6.99678,0.0131 -0.0854,-1.57045 -1.43248,-4.72887 -3.49219,-6.08122 -4.55,0.57084 -1.85689,6.78882 -0.17627,4.93327 0.32238,1.54823 -6.80093,1.7504 -0.47008,-1.4973 -2.55368,-4.20335 -4.91427,-5.02884 -4.25189,1.6845 -0.10488,7.05728 1.04783,4.80201 0.69644,1.40602 -6.15133,3.40396 -0.81441,-1.34549 -3.52408,-3.43236 -6.01669,-3.64375 -3.71783,2.67712 1.67175,6.84126 2.19021,4.41465 1.03016,1.18515 -5.09893,4.82606 -1.12798,-1.0853 -4.26506,-2.4562 -6.73136,-2.03537 -2.90853,3.52854 3.28599,6.21185 3.24027,3.70212 1.28424,0.9058 -3.75317,5.94864 -1.35228,-0.79639 -4.76704,-1.3046 -7.0296,-0.29295 -1.92382,4.14096 4.72828,5.19878 4.09067,2.794 1.45862,0.56799 -2.14478,6.66332 -1.50651,-0.41925 -4.96199,-0.087 -6.87305,1.46454 -0.85293,4.48566 5.88061,3.86259 4.64256,1.69132 1.55336,0.1717 -0.41194,6.99129 -1.57147,-0.0134 -4.801,1.14663 -6.29253,3.12871 0.30416,4.56264 6.65476,2.27334 4.89701,0.4929 1.54926,-0.22357 1.32641,6.89425 -1.52806,0.3617 -4.34456,2.27842 -5.34853,4.58159 1.44857,4.3729 7.01248,0.55008 4.87414,-0.76197 1.43678,-0.58806 3.01075,6.35304 -1.38584,0.73577 -3.6522,3.28917 -4.02192,5.76366 2.46137,3.87819 6.92501,-1.21803 4.53569,-1.95426 1.25524,-0.94195 4.49336,5.41862 -1.1554,1.03975 -2.73452,4.10981 -2.45183,6.59732 3.35313,3.14753 6.39339,-2.93209 3.91239,-2.97563 0.98547,-1.22575 5.67544,4.092 -0.84631,1.30339 -1.63183,4.66171 -0.71796,7.02411 4.02504,2.18196 5.48873,-4.40513 3.02342,-3.88551 0.65724,-1.4299 6.52927,2.56124 -0.50849,1.47777 -0.40366,4.92574 1.01081,6.95681 4.45899,1.1398 4.21098,-5.63714 1.97923,-4.51708 0.27051,-1.55437 6.94649,0.85711 -0.11221,1.5725 0.83104,4.86354 2.73549,6.49426 4.5657,-0.008 2.6898,-6.52072 0.80952,-4.86076 -0.12474,-1.55029 6.95782,-0.91199 0.25332,1.55884 2.0329,4.49534 4.23828,5.59915 4.43548,-1.13297 0.99525,-6.96768 -0.45595,-4.90696 -0.49983,-1.50687 6.51544,-2.59736 0.65712,1.42619 3.05426,3.87205 5.52019,4.37033 3.99923,-2.22544 -0.77386,-6.97902 -1.64926,-4.66731 -0.86332,-1.29558 5.66924,-4.15006 0.98127,1.23506 3.93441,2.9735 6.42395,2.88848 3.31745,-3.16712 -2.47938,-6.57596 -2.75028,-4.10251 -1.17686,-1.03538 4.47016,-5.4224 1.24491,0.92598 4.56597,1.9293 6.91024,1.17373 2.46027,-3.86979 -4.05227,-5.76909 -3.67076,-3.2826 -1.40118,-0.74647 2.95856,-6.33573 1.44905,0.59774 4.88947,0.72026 7.02039,-0.59639 1.39795,-4.34306 -5.35436,-4.57959 -4.39157,-2.26711 -1.52566,-0.35976 1.3023,-6.90167 1.56396,0.24078 4.89635,-0.52502 6.65665,-2.3221 0.259,-4.57835 -6.29742,-3.07754 -4.83408,-1.09639 -1.5513,0.0259 -0.46784,-7.01182 1.56944,-0.18425 4.61739,-1.69816 5.84977,-3.89497 -0.84712,-4.50761 -6.89313,-1.43087 -4.93977,0.14993 -1.50789,0.40102 -2.19355,-6.64811 1.46654,-0.57847 4.05257,-2.79917 4.70917,-5.24699 -1.95019,-4.14042 -7.0426,0.35945 -4.72987,1.33366 -1.36568,0.77509 -3.77701,-5.91028 1.27541,-0.90263 3.23268,-3.71966 3.25602,-6.23998 -2.9322,-3.53731 -6.70861,2.07557 -4.28303,2.4952 -1.10548,1.08864 -5.12902,-4.76968 1.01522,-1.21618 2.17788,-4.42031 1.60934,-6.83567 -3.70396,-2.66953 -6.00055,3.64947 -3.51202,3.4656 -0.82614,1.3427 -6.14218,-3.35585 0.67739,-1.39058 1.03689,-4.85322 -0.14163,-7.00533 -4.27706,-1.705 z m -9.55511,20.20016 c 7.3463,2.36461 13.93701,5.98658 19.65679,10.52921 l -23.61337,22.56916 c -1.93967,-1.19352 -4.0289,-2.1832 -6.28581,-2.90966 -8.01237,-2.57901 -16.37396,-1.46173 -23.32782,2.40561 l -22.48948,-23.5549 c 15.72817,-11.35661 36.33687,-15.38781 56.05969,-9.03942 z m 32.25823,24.00727 c 10.87243,15.73232 14.56173,36.25145 8.20855,55.98923 -2.33009,7.239 -5.81026,13.80759 -10.18491,19.50499 l -23.95833,-25.11105 c 0.94458,-1.73516 1.74503,-3.58553 2.37384,-5.53908 2.38834,-7.41998 1.9479,-15.05316 -0.74768,-21.64514 l 24.30853,-23.19895 z m -101.54638,-2.12193 22.94936,24.06403 c -0.72917,1.4544 -1.35503,2.98582 -1.86981,4.58512 -2.59642,8.06646 -1.83223,16.37859 1.51626,23.33702 l -24.61149,23.52821 c -10.87367,-15.73262 -14.58222,-36.28979 -8.22872,-56.02856 2.33442,-7.25247 5.85831,-13.78097 10.2444,-19.48582 z m 54.88447,19.70158 c 0.30756,0.0811 0.61605,0.19829 0.92216,0.29682 9.79557,3.15298 15.0478,14.13912 11.70759,24.51634 -3.34022,10.37721 -14.00519,16.20709 -23.80075,13.0541 -9.79556,-3.15297 -15.05737,-14.10937 -11.71715,-24.48659 3.23583,-10.05292 13.35405,-15.89349 22.88815,-13.38067 z m 7.54868,45.69834 23.87867,25.05257 c -15.73247,11.3755 -36.35231,15.38282 -56.08945,9.02985 -7.35599,-2.36774 -13.97114,-5.95795 -19.6961,-10.50906 l 24.77834,-23.63865 c 1.49091,0.79247 3.08474,1.45253 4.74445,1.98676 7.66041,2.46573 15.62166,1.54253 22.38409,-1.92147 z"
id="path3616"
inkscape:connector-curvature="0" />
<path
id="path3618"
d="m 321.8454,184.35195 -3.09375,6.3125 -1.125,4.8125 0.0312,1.5625 -7,0.4375 -0.1875,-1.53125 -1.6875,-4.65625 -3.875,-5.84375 -4.5,0.84375 -1.46875,6.875 0.125,4.9375 0.40625,1.53125 -6.65625,2.15625 -0.5625,-1.46875 -2.8125,-4.0625 -5.1875,-4.71875 -4.15625,1.9375 0.3125,7.03125 1.34375,4.75 0.78125,1.375 -5.9375,3.75 -0.90625,-1.28125 -3.71875,-3.21875 -6.21875,-3.28125 -3.53125,2.90625 2.0625,6.75 2.46875,4.25 1.09375,1.125 -4.8125,5.125 -1.1875,-1.03125 -4.40625,-2.1875 -6.84375,-1.625 -2.71875,3.6875 3.6875,6 3.4375,3.53125 1.34375,0.8125 -3.375,6.15625 -1.40625,-0.6875 -4.8125,-1.03125 -7.03125,0.125 -1.6875,4.25 5.03125,4.90625 4.21875,2.53125 1.5,0.46875 -1.75,6.8125 -1.53125,-0.34375 -4.9375,0.21875 -6.78125,1.875 -0.5625,4.53125 6.09375,3.5 4.75,1.40625 1.5625,0.0937 0,7 -1.5625,0.0625 -4.75,1.4375 -6.09375,3.5 0.5625,4.53125 6.78125,1.875 4.9375,0.1875 1.53125,-0.3125 1.75,6.78125 -1.5,0.46875 -4.21875,2.5625 -5.03125,4.90625 1.6875,4.25 7.03125,0.125 4.8125,-1.03125 1.40625,-0.6875 3.375,6.15625 -1.34375,0.8125 -3.4375,3.5 -3.6875,6 2.71875,3.71875 6.84375,-1.625 4.40625,-2.21875 1.1875,-1 4.8125,5.125 -1.09375,1.125 -2.46875,4.25 -2.0625,6.71875 3.53125,2.9375 6.21875,-3.28125 3.71875,-3.25 0.90625,-1.28125 5.9375,3.78125 -0.78125,1.34375 -1.34375,4.75 -0.3125,7.03125 4.15625,1.96875 5.1875,-4.75 2.8125,-4.03125 0.5625,-1.46875 6.65625,2.15625 -0.40625,1.5 -0.125,4.9375 1.46875,6.90625 4.5,0.84375 3.875,-5.875 1.6875,-4.625 0.1875,-1.5625 7,0.4375 -0.0312,1.5625 1.125,4.8125 3.09375,6.3125 4.59375,-0.28125 2.28125,-6.65625 0.5,-4.90625 -0.21875,-1.5625 6.875,-1.3125 0.375,1.53125 2.28125,4.375 4.59375,5.34375 4.34375,-1.40625 0.5625,-7.03125 -0.71875,-4.875 -0.59375,-1.4375 6.34375,-3 0.71875,1.40625 3.3125,3.65625 5.75,4.03125 3.875,-2.4375 -1.1875,-6.9375 -1.9375,-4.53125 -0.9375,-1.28125 5.40625,-4.46875 1.0625,1.15625 4.09375,2.75 6.59375,2.46875 3.125,-3.34375 -2.875,-6.40625 -3,-3.9375 -1.21875,-0.96875 4.125,-5.6875 1.3125,0.875 4.65625,1.625 7,0.78125 2.1875,-4.03125 -4.375,-5.5 -3.875,-3.0625 -1.4375,-0.625 2.59375,-6.53125 1.46875,0.5 4.9375,0.4375 6.9375,-1 1.15625,-4.4375 -5.625,-4.25 -4.5,-2 -1.5625,-0.28125 0.875,-6.9375 1.5625,0.125 4.875,-0.8125 6.5,-2.71875 0,-4.5625 -6.5,-2.71875 -4.875,-0.8125 -1.5625,0.125 -0.875,-6.96875 1.5625,-0.25 4.5,-2 5.625,-4.25 -1.15625,-4.4375 -6.9375,-1 -4.9375,0.4375 -1.46875,0.5 -2.59375,-6.53125 1.4375,-0.65625 3.875,-3.03125 4.375,-5.5 -2.1875,-4.03125 -7,0.75 -4.65625,1.65625 -1.3125,0.84375 -4.125,-5.65625 1.21875,-1 3,-3.90625 2.875,-6.4375 -3.125,-3.34375 -6.59375,2.5 -4.09375,2.71875 -1.0625,1.15625 -5.40625,-4.46875 0.9375,-1.25 1.9375,-4.53125 1.1875,-6.9375 -3.875,-2.46875 -5.75,4.03125 -3.3125,3.6875 -0.71875,1.375 -6.34375,-2.96875 0.59375,-1.46875 0.71875,-4.875 -0.5625,-7 -4.34375,-1.40625 -4.59375,5.3125 -2.28125,4.375 -0.375,1.53125 -6.875,-1.3125 0.21875,-1.53125 -0.5,-4.9375 -2.28125,-6.625 -4.59375,-0.3125 z m -2.90625,22.15625 c 7.71749,0 15.10097,1.42838 21.9375,4 l -15.5625,28.71875 c -2.21207,-0.5418 -4.50406,-0.84375 -6.875,-0.84375 -8.41721,0 -16.03429,3.62553 -21.46875,9.4375 l -28.625,-15.53125 c 11.49205,-15.62948 29.87439,-25.78125 50.59375,-25.78125 z m 38.0625,12.96875 c 15.16986,11.64435 24.96875,30.04618 24.96875,50.78125 0,7.60476 -1.30018,14.92375 -3.71875,21.6875 l -30.5,-16.5625 c 0.3675,-1.94112 0.5625,-3.94775 0.5625,-6 0,-7.79489 -2.75805,-14.92599 -7.34375,-20.375 l 16.03125,-29.53125 z m -97.3125,29.09375 29.21875,15.875 c -0.24846,1.60786 -0.375,3.25739 -0.375,4.9375 0,8.47403 3.27426,16.15222 8.59375,21.75 l -16.21875,29.9375 c -15.17113,-11.64426 -25,-30.07641 -25,-50.8125 0,-7.61892 1.35408,-14.91314 3.78125,-21.6875 z m 58.28125,1.9375 c 0.3176,-0.0171 0.64717,0 0.96875,0 10.2905,-10e-6 18.65625,8.84846 18.65625,19.75 0,10.90154 -8.36575,19.71875 -18.65625,19.71875 -10.2905,1e-5 -18.65625,-8.81721 -18.65625,-19.71875 0,-10.56086 7.84203,-19.22073 17.6875,-19.75 z m 21.1875,41.1875 30.40625,16.53125 c -11.49036,15.64878 -29.89062,25.78125 -50.625,25.78125 -7.72767,0 -15.12468,-1.39066 -21.96875,-3.96875 l 16.34375,-30.09375 c 1.66202,0.29753 3.38143,0.4375 5.125,0.4375 8.04746,0 15.34294,-3.3181 20.71875,-8.6875 z"
style="fill:url(#linearGradient3850);fill-opacity:1;stroke:#000000"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500"
height="500"
id="svg2"
version="1.1"
inkscape:version="0.47pre4 r22446"
sodipodi:docname="mouse.svg">
<defs
id="defs4">
<inkscape:path-effect
effect="bend_path"
id="path-effect3618"
is_visible="true"
bendpath="m 142.49072,814.69439 c 81.91729,17.90777 153.31508,14.77655 218.89021,0"
prop_scale="1"
scale_y_rel="false"
vertical="false"
bendpath-nodetypes="cc" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<filter
inkscape:collect="always"
id="filter3665"
x="-0.083121873"
width="1.1662437"
y="-0.17986062"
height="1.3597212"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="6.0737057"
id="feGaussianBlur3667" />
</filter>
<filter
inkscape:collect="always"
id="filter3698"
x="-0.33920384"
width="1.6784077"
y="-0.39133015"
height="1.7826603">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="23.726467"
id="feGaussianBlur3700" />
</filter>
<inkscape:perspective
id="perspective4226"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" />
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0281354,0,0,1.0429299,-0.9963584,-0.6864152)" />
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
y2="13.02554"
x2="32.18182"
y1="3.2835093"
x1="32.18182"
gradientTransform="matrix(1.0281354,0,0,1.0429299,-0.9963584,-0.6864152)"
gradientUnits="userSpaceOnUse"
id="linearGradient4241"
xlink:href="#linearGradient6482"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.42293617"
inkscape:cx="822.80187"
inkscape:cy="255.85948"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="725"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-552.36218)">
<g
transform="matrix(7.8163235,0,0,7.8163235,-0.83292805,550.81868)"
id="g4214">
<rect
ry="5.6363635"
y="1.6363637"
x="1.2727273"
height="61.090908"
width="61.636364"
id="rect6462"
style="fill:url(#linearGradient6470);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1" />
<rect
ry="4.7325583"
y="2.7380548"
x="2.1926003"
height="13.251164"
width="59.796619"
id="rect6472"
style="fill:url(#linearGradient4241);fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
<path
sodipodi:type="arc"
style="fill:#b3b3b3;fill-opacity:1;stroke:#000000;stroke-width:6.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3612"
sodipodi:cx="417.14285"
sodipodi:cy="530.93359"
sodipodi:rx="182.85715"
sodipodi:ry="278.57144"
d="m 600,530.93359 a 182.85715,278.57144 0 1 1 -365.71429,0 182.85715,278.57144 0 1 1 365.71429,0 z"
transform="matrix(0.61209183,0,0,0.61209183,-3.991318,525.05368)" />
<path
style="fill:none;stroke:#000000;stroke-width:6.13613224;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 142.11886,816.39544 c 24.00477,4.86037 45.6417,7.63291 64.92353,9.13533 19.28183,1.50242 36.21854,1.73784 51.02095,1.34614 0,0 1e-5,0 2e-5,0 13.29628,-0.35181 24.86633,-1.20953 34.92728,-2.21877 10.06095,-1.00924 18.61449,-2.17406 25.89398,-3.29764 7.2795,-1.12357 13.28565,-2.20883 18.25057,-3.16435 4.96493,-0.95552 8.88876,-1.78341 11.99632,-2.46006 6.21511,-1.3533 9.16978,-2.08479 10.58303,-2.42613 1.41324,-0.34134 1.28035,-0.31346 1.28035,-0.31346"
id="path3616"
inkscape:path-effect="#path-effect3618"
inkscape:original-d="m 142.49072,816.43562 c 222.41729,-3.48245 218.88686,-3.48245 218.88686,-3.48245 l 0,0" />
<path
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:6.12091827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3630"
d="m 248.96734,677.61194 c -0.0885,-1.27893 -0.38139,-2.52136 -0.71317,-3.75539 -0.43385,-1.66713 -1.25768,-3.16324 -1.99558,-4.7038 -0.90768,-1.8401 -1.86244,-3.6568 -2.72814,-5.51719 -1.18705,-2.366 -1.96091,-4.89695 -2.51888,-7.47608 -0.47879,-2.43103 -0.58581,-4.90881 -0.658,-7.3784 -0.10623,-2.18284 -0.0318,-4.33797 0.41298,-6.47878 0.53053,-2.30687 1.5949,-4.39973 2.7494,-6.4444 1.18372,-2.13101 2.57365,-4.13797 4.00257,-6.10975 1.6915,-2.32254 3.37358,-4.65334 5.02606,-7.00398 1.78446,-2.34318 3.26895,-4.88531 4.40836,-7.59822 1.06673,-2.79668 1.89877,-5.67055 2.55938,-8.58771 0.52752,-2.99212 0.85508,-6.01611 1.2607,-9.02686 0.33319,-2.7066 0.71113,-5.40417 0.91074,-8.12487 0.15727,-2.04704 0.0839,-4.10262 0.20469,-6.15038 0.11001,-1.20566 0.0537,-0.6027 0.169,-1.80889 0,0 4.62033,-1.69611 4.62033,-1.69611 l 0,0 c -0.11326,1.20322 -0.0549,0.60351 -0.1749,1.79914 -0.17508,2.05282 -0.067,4.12276 -0.26895,6.17634 -0.21654,2.73665 -0.60921,5.44735 -0.95219,8.16968 -0.40694,3.02381 -0.76233,6.05729 -1.25622,9.0672 -0.62729,2.94555 -1.48097,5.83138 -2.51527,8.66043 -1.10532,2.75447 -2.58296,5.34141 -4.38595,7.70299 -1.64059,2.34423 -3.30775,4.67011 -4.97291,6.99671 -1.42967,1.95096 -2.81389,3.94317 -4.00201,6.05234 -1.1492,2.0043 -2.2388,4.03221 -2.78322,6.29949 -0.47473,2.10489 -0.53758,4.2177 -0.45096,6.37089 0.0321,2.4461 0.12098,4.9024 0.56991,7.31339 0.54584,2.54611 1.32065,5.03282 2.52256,7.35326 0.89398,1.84621 1.8571,3.65753 2.75888,5.49995 0.76468,1.56339 1.64142,3.06712 2.05859,4.77667 0.34656,1.2681 0.66969,2.53341 0.87954,3.83224 0,0 -4.73734,1.79009 -4.73734,1.79009 z" />
<path
transform="matrix(0.69925909,0,0,0.43529764,8.7273325,624.72118)"
style="fill:#f5f5f5;fill-opacity:1;stroke:none;filter:url(#filter3698)"
d="m 425.59614,766.26703 c 0,61.37423 -37.57989,111.12788 -83.93702,111.12788 -46.35714,0 -83.93702,-49.75365 -83.93702,-111.12788 0,-61.37423 35.84359,-21.8744 82.20073,-21.8744 46.35713,0 85.67331,-39.49983 85.67331,21.8744 z"
id="path3639"
sodipodi:nodetypes="csssc" />
<path
transform="matrix(0.84903062,0,0,0.94874234,-79.418225,424.35786)"
style="opacity:0.89905366;fill:#f5f5f5;fill-opacity:1;stroke:none;filter:url(#filter3665)"
d="m 469.58541,345.39972 c 20.45501,37.64961 -34.52081,-41.94944 -75.00169,-41.94944 -40.48088,0 -109.09338,79.59905 -93.75212,40.42401 14.47794,-36.9705 46.4529,-69.40726 86.93378,-69.40726 40.48088,0 81.82003,31.75765 81.82003,70.93269 z"
id="path3662"
sodipodi:nodetypes="csssc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.12091827;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 251.02516,679.52011 c 0,147.36327 0,147.36327 0,147.36327"
id="path3620" />
<path
sodipodi:type="arc"
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3622"
sodipodi:cx="420.9007"
sodipodi:cy="386.11023"
sodipodi:rx="21.316719"
sodipodi:ry="47.649136"
d="m 442.21741,386.11023 a 21.316719,47.649136 0 1 1 -42.63343,0 21.316719,47.649136 0 1 1 42.63343,0 z"
transform="matrix(0.61209183,0,0,0.61209183,-6.549708,519.42522)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

@@ -0,0 +1,297 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg4456"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="icon_config_messages.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs4458">
<linearGradient
id="linearGradient8828">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop8830" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop8832" />
</linearGradient>
<linearGradient
id="linearGradient3291">
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0"
id="stop3293" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3295" />
</linearGradient>
<linearGradient
id="linearGradient3281">
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0"
id="stop3283" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3285" />
</linearGradient>
<linearGradient
id="linearGradient4388">
<stop
id="stop4390"
offset="0"
style="stop-color:#b5c9de;stop-opacity:1;" />
<stop
style="stop-color:#a8cce0;stop-opacity:1;"
offset="1"
id="stop4398" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective4464" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4388"
id="linearGradient2507"
gradientUnits="userSpaceOnUse"
x1="392.85291"
y1="298.36151"
x2="392.85291"
y2="610.24268"
gradientTransform="matrix(0.1517229,0,0,0.1616016,-27.270313,-47.446867)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3281"
id="linearGradient3287"
x1="35.072235"
y1="25.42054"
x2="56.655151"
y2="25.42054"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3291"
id="linearGradient3297"
x1="38.143646"
y1="31.558012"
x2="38.143646"
y2="7.2486181"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter3315"
x="-0.055607294"
width="1.1112146"
y="-0.1235493"
height="1.2470986">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.2514202"
id="feGaussianBlur3317" />
</filter>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8828"
id="radialGradient8834"
cx="37.018585"
cy="39.258972"
fx="37.018585"
fy="39.258972"
r="20.799664"
gradientTransform="matrix(1,0,0,1.1305163,0,-3.3604633)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3372"
id="linearGradient3370"
x1="32.090912"
y1="1.0909164"
x2="32.090912"
y2="67.636368"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9859962,0,0,0.9859962,0.3584832,-0.00133224)" />
<linearGradient
id="linearGradient3372">
<stop
id="stop3374"
offset="0"
style="stop-color:#0053ff;stop-opacity:1;" />
<stop
id="stop3376"
offset="1"
style="stop-color:#008eff;stop-opacity:0.30980393;" />
</linearGradient>
<linearGradient
y2="67.636368"
x2="32.090912"
y1="1.0909164"
x1="32.090912"
gradientTransform="matrix(0.9859962,0,0,0.9859962,0.40019796,0.13844058)"
gradientUnits="userSpaceOnUse"
id="linearGradient3029"
xlink:href="#linearGradient3372"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" />
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<linearGradient
y2="62.909088"
x2="31.09091"
y1="1.8181819"
x1="32.090908"
gradientTransform="matrix(1.0235582,0,0,1.0338679,-0.64074569,-1.2340088)"
gradientUnits="userSpaceOnUse"
id="linearGradient3045"
xlink:href="#linearGradient6464"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0489761,0,0,1.0704672,-1.576142,-1.64517)" />
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
y2="13.02554"
x2="32.18182"
y1="3.2835093"
x1="32.18182"
gradientTransform="matrix(1.061706,0,0,1.0704672,-2.0848571,-2.2134742)"
gradientUnits="userSpaceOnUse"
id="linearGradient3045-1"
xlink:href="#linearGradient6482"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8.1040376"
inkscape:cx="12.301334"
inkscape:cy="38.69057"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0" />
<metadata
id="metadata4461">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:url(#linearGradient3045);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.02870011;stroke-opacity:1"
id="rect6462"
width="63.088406"
height="63.159927"
x="0.66196382"
y="0.64575124"
ry="5.8272552" />
<rect
style="fill:url(#linearGradient3045-1);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect6472"
width="61.749092"
height="13.601046"
x="1.2082272"
y="1.3014144"
ry="4.8575158" />
<path
style="fill:url(#linearGradient2507);fill-opacity:1;stroke:#000000;stroke-width:0.55699998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:60.01653385;stroke-opacity:1"
d="M 30.806368,0.85686126 C 29.034982,0.98914726 27.264478,1.1656403 25.510612,1.4661773 C 23.796106,1.7655132 22.103629,2.1976442 20.439589,2.7281242 C 19.21728,3.1056042 18.017557,3.5646622 16.839452,4.0765812 C 15.651082,4.6034292 14.495935,5.2138092 13.371335,5.8801812 C 11.912816,6.7464622 10.530751,7.7539632 9.2243805,8.8609672 C 8.4187244,9.5430992 7.6399884,10.262469 6.9145177,11.040719 C 5.620197,12.403477 4.4818823,13.932601 3.5234442,15.580236 C 3.0019741,16.480068 2.5348238,17.416384 2.1362796,18.385123 C 1.6804251,19.48228 1.3317871,20.628769 1.0695948,21.795033 C 0.75652219,23.256251 0.60324564,24.756201 0.61124599,26.254797 C 0.62193487,27.552852 0.7897313,28.84366 1.0337442,30.113781 C 1.3344362,31.649962 1.8041461,33.150192 2.4506358,34.561073 C 2.8706852,35.492735 3.3543551,36.391419 3.8768235,37.261925 C 4.6419727,38.490076 5.5010793,39.654404 6.4706387,40.707329 C 7.3596606,41.662951 8.297604,42.566604 9.2722931,43.422059 C 10.463433,44.447127 11.745074,45.349675 13.080336,46.147036 C 14.167464,46.805262 15.285489,47.406349 16.432387,47.937391 C 17.335164,48.348844 18.246803,48.739932 19.176788,49.076573 C 20.176277,49.440994 21.187956,49.769331 22.213361,50.040982 C 23.982628,50.519355 25.787921,50.832673 27.59864,51.068576 C 29.184164,51.257577 30.778441,51.374509 32.374326,51.378135 C 34.208468,51.393245 36.04276,51.33635 37.876831,51.36666 C 38.434029,51.394132 38.996114,51.373533 39.548214,51.468857 C 40.395454,51.629691 41.189649,52.027723 41.897068,52.542095 C 42.906233,53.246246 43.82274,54.092615 44.675187,54.999399 C 45.512204,55.903243 46.266785,56.888703 46.983782,57.901568 C 48.063059,59.393702 49.050446,60.961084 50.183724,62.408718 C 50.603098,62.897907 51.029706,63.407601 51.587664,63.719884 C 51.804498,63.841768 52.103879,63.868879 52.289383,63.669383 C 52.572771,63.417588 52.620316,62.996395 52.649089,62.627433 C 52.711632,61.844833 52.599022,61.057825 52.408292,60.302829 C 52.168482,59.302677 51.78517,58.35174 51.462684,57.380495 C 51.201962,56.629345 50.962671,55.869992 50.710396,55.115547 C 50.335598,53.977982 49.982246,52.829592 49.724991,51.654708 C 49.578941,50.967344 49.473946,50.261071 49.510957,49.554493 C 49.543479,49.062371 49.729699,48.57395 50.076258,48.238512 C 50.511787,47.761469 51.012891,47.360634 51.477328,46.916997 C 52.923187,45.590001 54.409164,44.313642 55.874783,43.011823 C 56.757712,42.194646 57.618666,41.349135 58.421933,40.442755 C 58.916458,39.885813 59.394731,39.311891 59.833969,38.70424 C 60.710709,37.528802 61.472131,36.255065 62.089397,34.905016 C 62.686408,33.597774 63.1598,32.225673 63.496977,30.816995 C 63.918773,29.061675 64.112872,27.241367 64.04458,25.430114 C 63.993915,24.1628 63.842987,22.897362 63.555691,21.66543 C 63.293091,20.48664 62.918558,19.336609 62.453814,18.231165 C 61.999994,17.149646 61.468614,16.10516 60.855606,15.116435 C 60.398759,14.374017 59.907921,13.654553 59.383662,12.964365 C 58.538398,11.856043 57.592092,10.838847 56.596116,9.8845992 C 55.568274,8.9130772 54.485916,8.0053472 53.337013,7.2011982 C 52.664003,6.7221662 51.968792,6.2783912 51.259706,5.8627892 C 50.063297,5.1749212 48.837819,4.5423942 47.573935,4.0072892 C 46.156955,3.3945402 44.708468,2.8644512 43.241049,2.4062912 C 42.115855,2.0591482 40.971103,1.7877702 39.816603,1.5776382 C 38.516427,1.3486333 37.205879,1.1933933 35.894625,1.0565313 C 34.340149,0.91502526 32.779796,0.84208126 31.219584,0.84739626 C 31.081846,0.85055126 30.944107,0.85370726 30.806368,0.85686126 z"
id="path3866" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3297);fill-opacity:1;stroke:none;filter:url(#filter3315)"
id="path3289"
sodipodi:cx="38.143646"
sodipodi:cy="19.403315"
sodipodi:rx="27.005526"
sodipodi:ry="12.154696"
d="m 65.149172,19.403315 a 27.005526,12.154696 0 1 1 -54.011051,0 27.005526,12.154696 0 1 1 54.011051,0 z"
transform="matrix(1,0,0,1.52,-6.2560322,-9.1853735)" />
<path
style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Umpush;-inkscape-font-specification:Umpush"
d="M 26.408397,32.530967 C 26.408382,34.365536 26.267064,35.8999 25.984444,37.134064 C 25.701793,38.368225 25.246433,39.357778 24.618367,40.102731 C 23.990272,40.858787 23.215639,41.392479 22.294465,41.703806 C 21.373269,42.026239 20.232255,42.187459 18.871422,42.187466 C 16.903429,42.187459 15.322759,41.664886 14.12941,40.619746 C 12.94652,39.574592 12.328908,38.090261 12.276571,36.166747 L 15.024424,36.166747 C 15.013953,36.933927 15.202377,37.567688 15.589699,38.068026 C 15.987478,38.579479 16.458538,38.929715 17.002882,39.118734 C 17.55768,39.307746 18.175292,39.402252 18.855721,39.402257 C 19.776897,39.402252 20.546296,39.246593 21.16392,38.935277 C 21.79199,38.635071 22.273519,38.179209 22.608508,37.567691 C 22.95394,36.956165 23.194703,36.255695 23.330801,35.466276 C 23.466871,34.676857 23.534914,33.726217 23.534928,32.614358 C 22.299689,34.159841 20.760891,34.932583 18.918529,34.932583 C 16.70977,34.932583 14.95638,34.104249 13.658349,32.447577 C 12.360313,30.79091 11.711296,28.633905 11.711296,25.976556 C 11.711296,23.274749 12.355079,21.073269 13.642646,19.37211 C 14.930209,17.670984 16.69407,16.820411 18.934233,16.820394 C 21.142972,16.820411 22.765515,17.443053 23.801861,18.688318 L 23.801861,17.220663 L 26.408397,17.220663 L 26.408397,32.530967 M 19.138358,19.638957 C 17.672828,19.638971 16.552752,20.189341 15.778122,21.290069 C 15.003484,22.390823 14.616169,23.880713 14.616173,25.759743 C 14.616169,29.92922 16.139265,32.013956 19.185464,32.013953 C 22.116498,32.013956 23.582021,29.962578 23.582035,25.85981 C 23.582021,24.848029 23.482576,23.958542 23.283694,23.191348 C 23.08479,22.41306 22.833558,21.807096 22.529997,21.373457 C 22.236882,20.928728 21.880969,20.572933 21.462259,20.306072 C 21.043527,20.039241 20.650977,19.861343 20.284606,19.77238 C 19.918215,19.683446 19.536134,19.638971 19.138358,19.638957 M 37.462629,35.11604 C 34.960765,35.11604 33.029417,34.326621 31.668578,32.747781 C 30.318204,31.157825 29.643017,28.934109 29.643017,26.076625 C 29.643017,23.230274 30.323438,20.978763 31.68428,19.322077 C 33.055588,17.654306 34.981701,16.820411 37.462629,16.820394 C 39.870262,16.820411 41.770207,17.637628 43.162466,19.272045 C 44.565166,20.895372 45.266522,23.080174 45.26654,25.826456 C 45.266522,27.216288 45.11997,28.456008 44.826883,29.545626 C 44.54423,30.624133 44.162149,31.508061 43.680635,32.197408 C 43.199091,32.886763 42.612882,33.459371 41.922007,33.915232 C 41.241573,34.359975 40.534981,34.671296 39.802234,34.849193 C 39.079929,35.027091 38.300062,35.11604 37.462629,35.11604 M 37.462629,19.4555 C 35.861016,19.455516 34.641493,20.044801 33.804055,21.223357 C 32.966609,22.40194 32.547888,24.019695 32.547893,26.076625 C 32.547888,27.132896 32.657803,28.061299 32.877637,28.86183 C 33.097461,29.651257 33.369629,30.268337 33.694141,30.713076 C 34.029114,31.157825 34.426898,31.519178 34.887498,31.797139 C 35.348082,32.075108 35.777271,32.258565 36.175063,32.347512 C 36.583308,32.436462 37.012496,32.480937 37.462629,32.480935 C 39.074695,32.480937 40.294218,31.913888 41.121203,30.779789 C 41.948163,29.645696 42.361649,28.044622 42.361662,25.976556 C 42.361649,24.953655 42.251736,24.04749 42.03192,23.258058 C 41.81208,22.457534 41.534677,21.823773 41.199714,21.35678 C 40.875192,20.889814 40.482643,20.511781 40.02206,20.222684 C 39.571926,19.922498 39.137504,19.722363 38.718791,19.622279 C 38.31053,19.511109 37.89181,19.455516 37.462629,19.4555 M 49.584599,18.271371 L 49.584599,10.749642 L 52.410963,10.749642 L 52.410963,18.271371 L 51.735778,28.845153 L 50.275486,28.845153 L 49.584599,18.271371 M 49.710215,31.697073 L 52.285348,31.697073 L 52.285348,34.932583 L 49.710215,34.932583 L 49.710215,31.697073"
id="text4400" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:60.01653385;stroke-opacity:1"
id="path2403"
sodipodi:cx="-269.4953"
sodipodi:cy="-38.171291"
sodipodi:rx="0.98716223"
sodipodi:ry="0.49358112"
d="M -268.50814,-38.171291 A 0.98716223,0.49358112 0 1 1 -270.48246,-38.171291 A 0.98716223,0.49358112 0 1 1 -268.50814,-38.171291 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

@@ -0,0 +1,74 @@
[Rules]
# The default log level is info
*.debug = false
#*.info = true
#*.warning = true
#*.critical = true
#*.fatal = true
# Uncomment a rule to see debug level logs for that category,
# or set <category> = false to disable logging
#main = true
#qt_translator = true
#window_main.* = true
#release_channel = true
#spoiler_background_updater = true
#theme_manager = true
#sound_engine = true
#tapped_out_interface = true
#tab_game = true
#tab_message = true
#tab_supervisor = true
#dlg_edit_avatar = true
#dlg_load_deck_from_website = true
#dlg_settings = true
#dlg_tip_of_the_day = true
#dlg_update = true
#general_settings_page = true
#settings_cache = true
#servers_settings = true
#shortcuts_settings = true
#local_client = true
#remote_client = true
#player = true
#game_scene = true
#game_scene.player_addition_removal = true
#card_zone = true
#view_zone = true
#game_event_handler = true
#user_info_connection = true
#card_picture_loader = true
#card_picture_loader.worker = true
#card_picture_loader.card_back_cache_fail = true
#card_picture_loader.picture_to_load = true
#deck_loader = true
#card_database = true
#card_database.loading = true
#card_database.loading.success_or_failure = true
#cockatrice_xml.* = true
#cockatrice_xml.xml_3_parser = true
#cockatrice_xml.xml_4_parser = true
#card_info = true
#card_list = true
#flow_layout = true
#flow_widget = true
#flow_widget.size = true
#card_info_picture_widget = true
#pixel_map_generator = true
#deck_filter_string = true
#filter_string = true
#syntax_help = true
@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500"
height="500"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="icon_config_shorcuts.svg">
<defs
id="defs4">
<inkscape:path-effect
effect="bend_path"
id="path-effect3618"
is_visible="true"
bendpath="m 142.49072,814.69439 c 81.91729,17.90777 153.31508,14.77655 218.89021,0"
prop_scale="1"
scale_y_rel="false"
vertical="false"
bendpath-nodetypes="cc" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<inkscape:perspective
id="perspective4226"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" />
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0281354,0,0,1.0429299,-0.9963584,-0.6864152)" />
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
y2="13.02554"
x2="32.18182"
y1="3.2835093"
x1="32.18182"
gradientTransform="matrix(1.0281354,0,0,1.0429299,-0.9963584,-0.6864152)"
gradientUnits="userSpaceOnUse"
id="linearGradient4241"
xlink:href="#linearGradient6482"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.42293617"
inkscape:cx="401.93458"
inkscape:cy="251.13063"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="745"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-552.36218)">
<g
transform="matrix(7.8163235,0,0,7.8163235,-0.83292805,550.81868)"
id="g4214">
<rect
ry="5.6363635"
y="1.6363637"
x="1.2727273"
height="61.090908"
width="61.636364"
id="rect6462"
style="fill:url(#linearGradient6470);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1" />
<rect
ry="4.7325583"
y="2.7380548"
x="2.1926003"
height="13.251164"
width="59.796619"
id="rect6472"
style="fill:url(#linearGradient4241);fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
<image
width="330.20697"
height="335.80368"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAB4CAYAAAAnrQZhAAAABmJLR0QA/wD/AP+gvaeTAAALCklE QVR4nO2dbWgcZR7Af/Oyu91umlfTNtFYxabVbg4xGmkqGAiUXoViWq4UvFMOPxz4wfOoekhR6CEn fqig/eCHgyLY3kXxgzmLePZDvdpcyhlSriW2tmI0TXurl43ZtG422ezO3Ic44+xm9mWyEyedPD94 2Hl2Zp59dn77f55nXleiPCLANmAtUAtUlbmewD2mgQQwAZwBJhdbUAD4LfBPYBbQRVo2KQP8G/gD sNpenz17gG+WwRcQqXT6H/A7QLIKzMkwH6V/YT5SF6AoCqtWrUKWZbvZBZFlGVVVkWXZ8bp26Lpe cRlLUZZd2Zqmoes62Wy24s9KpVJkMplCs/8B7AOuQ65YFegFfmVduq6ujnvuuYeWlhaqq6vLroQs y2zfvp27774bVVWd1N8WYwOVSj/Hck4IhUI0NDSwbt06rl27xuDgIMPDwyXLURQFVVXNFAgEUFWV VCrF119/zeDgIFeuXMlfrR/4JZC0iv0zcMBaoW3btrFx40ZHXwSgra2NHTt2OF6vGDerWANJkmhq auKuu+7i22+/5Z133iEWi5nzDZGGwPxXu+mLFy/y1ltvMTExYf2ovwK/McT+AhhivikmEomwa9cu 1qxZ4/gLdHV10dHR4XoTd7OLNaiurqatrQ1d1+nt7WV0dLSkwPxp6+v09DQvvPACIyMj1o/ZaYg9 Bvwa5pvQ3bt3U19f77jSnZ2dPPTQQ0vSb/lFLEBVVRXt7e1omsb7779PPB4vKdCuWTZeJycn2bt3 L9evXzc+4l8KsAY4wo/RGo1G2bRpk+PK1tbWsnv37iWRCuUPcrxazgnpdJq5uTkaGxu58847icVi rF69mqqqKqqqqohEIkQiEXO60HvhcJhgMEhNTQ3BYJD+/n7jI1pUoB3LvtDmzZsXVdk9e/agaVrF X3qlEIvFuPXWW4lEIrS3tzM6Olq0Xw0EAkhS/k7MTzz66KMcOnTIGDVLKrDBmCnLMnV1dY4rGQqF qK+vX7Jo9SO6rnPt2jU2bdpES0sLyWQSRVFypBYTmU9NTQ1NTU2MjY0BIAM1xsxQKOSoMIOtW7cK qYsgHo+j6zqqqrJ+/Xqqq6sJh8Mlo7MQDQ0N5nTlRwuADRs2lF5IsIB0Os3s7CwAwWCw4vKsPwZX xK5e7ehwpcCCIVZRFFfLdUWsG0eWVipzc3MArhxqteJuaYJlgxDrU4RYnyLE+hQh1qcsq+Gspmmc Pn2agYEBhoaGiMfjfP/99yiKQm1tLa2trdx3333s3LmT5uZmr6u7rFk2Yk+cOMHrr7+ef/rJJJVK EYvF+PTTTzl8+DAPP/wwzz77LLfffvvPXNObA8/FZrNZXn31VY4ePZrzfnV1NdFo1Dx9GI/HuXTp EolEAl3XOXXqFAMDA3z88ceLOr7tdzwXe/DgQd577z0z39HRwdNPP80DDzyQs9OuaRrZbJbz58/z 9ttvc+LECebm5swdfEEung6e+vr6cqQ+9dRTHD16lAcffND2SIwsy9x7770cOnSI3t5eWlpafs7q 3lR4FrHpdJrXXnvNzPf09PDMM8+Uvf6WLVt49913XT/G6hc8E9vX18f4+DgA4XCYAwcOlFhjIZFI xLXLVfyGZ03xyZMnzeldu3Y5urRVUBpPxGqaxtDQkJnv7Oz0ohq+xhOx4+Pj3Lhxw8xHo1EvquFr PBGbSCRy8rW1tV5Uw9d4IjaZTObkI5GIF9XwNZ6IzReZL1pQOZ6IzW9685tmQeV4IraxsTHnvqDP P//ci2r4Gk/EyrLM/fffb+bPnDnjRTV8jWcHKLq7u83p48ePW28oEriAZ2J7enq45ZZbgPlzra+8 8orjMpLJpHldriAXz8QGg0Gee+45M9/X18fhw4fLXv/ChQvs27dPDLwK4Olpu56eHvbu3Wvm33zz TZ544gkGBwdt79zTNI1z587x/PPP89hjj5k3IAkWsixOtIdCIY4dOwbAZ599xuOPP05NTQ3RaNS8 OmJiYoIvvvgiJ0JDoZAr97z4Ec/FKorCiy++SEdHB2+88YZ5zdPU1BQDAwO268iyTHd3N/v376eu rk6ctrPBc7EGO3bsYPv27Zw+fZr+/n7Onj3L+Pg4iUTCvG+3tbWV9vZ2HnnkEdavXy/OxRZh2YiF +Ujs6uqiq6trwbyleBaEnxEXjPsUIdanCLE+RYj1KUKsTxFifYoQ61OEWJ8ixPoUIdanCLE+RYj1 KUKsTxFifYoQ61OEWJ8ixPoUIdanCLE+RYj1KUKsTxFifYoQ61OEWJ8ixPoUIdanCLE+RYj1KUKs TxFifYoQ61OEWJ8ixPoUIdanCLE+RYj1KUKsTxFifYorYiVJcqMYgYu4InZmZsaNYlYkoVAImP/z RjdxRewPP/zgRjErkmUtdnh42I1iVhxVVVXmQz7dbvUqFitJEpcuXRL97CIwHsS9FH+XWrFY4+9A L1++XHFlVhLBYND8m9R4PE4mk3G1/IrEyrJsplOnTokHVzrgjjvuQFEUkskkU1NTZLNZV+UuWqwk STliNU2jr69PNMll0NTURHNzM7Ozs4yMjJhSs9msa4OoRYu1SjVSIpHgk08+EXKL0NzcTGtrK8lk kosXL5JOp02pmUyGTCZj+9h8pyxKrKIotmJlWebq1at88MEHpFIpIdhCKBRiy5YtbNy4katXr3L2 7FmSyWSOVCNis9lsxd2a4wdR5zfBdml6epoPP/yQ2267jba2NtasWbMi+99AIEBNTQ21tbWEw2HG x8cZHh4mnU4TCARQVRVJknISYE6r6uKfE+5oTUmSikZrfvruu++Ix+MoioKiKKxatcocRS8li/0R uf3j03WdK1eukMlkUFXVlBkIBBYItUvAouU6WssQ5lSwIXOlHXq0dkXZbLakRGve2M7GtnZK2WKt kpxKlWV5RTbFVjRNKyk3X7Lxaoh2Qlli7fpVJ1ErmKccsdZILSS9HMoSayerXKliZJxLJpNxFKnW 5KS/LblkKXGlBIP7g5KbBV3XbX/YxeSWSuX2t0XFltq1KTVfYI+u6zlyofDAqVBzXYqiYsuNVruo FU3wPIWiVtO0HLnWbVasOZYkydxdKkZBseWOdgtFreAnCsktd5RcSG4xbMWWamJL9bH5X0pQGEMu 5EZqqea41GDKdo7TfVTrrk/+L1OSJCG3CLquF4xcKNwclxpMLRDrVGp+1NpVXFAca39bTqTmi7fb 7q6IFf1qaQr1swZWuVA6Uu1G0FZcEyuonEoGU/n9bU7OyaBJ7No4p1TUgnO5YH/BvisRK3CPYoOp Us2x9coLFbhuZGZnZx1HrcAZ5URtOWeCYOGBjMnJSbMMFRgzMtlslqmpKRobG0UT7DFOzwRNT08T i8XM9WXgLGCeAb9w4YKI1mVC/vVQ+Re9Wa+T+uijj3IuOpeBBHDceGNoaIhEIuGKVLEPa4+T7VJI rlXwxMQER44csa42aBy2+AZ4EpA1TWNkZIRoNEo4HDavV7ImEa3uUG5Xlt8vW5vjmZkZXnrpJcbG xqyr/N4Q+1+gHtgKkEqlGB4eZt26daxdu3aBWIE7OBFrLG8dPH355Ze8/PLLjIyMWBfvAw5aSw4B fwd2WJfasGEDnZ2dbN68mYaGBkcDJtEUF8fp4FNVVVKpFF999RX9/f2cP38+fxv/B+gGJvNLDgN/ A3rsCg6Hw0QikbIqIaSWhxO5MzMzxe5FHmDe23ixMp78cQFdpGWfbgB/BMruIyPAfuAcoC2DLyBS broM/AlosJNXbjuwDugC1jIvXOANKWAC6AdGiy34f92AFnOZ6uyjAAAAAElFTkSuQmCC "
id="image4221"
x="89.958641"
y="628.24109" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

+298
View File
@@ -0,0 +1,298 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="62.636364"
height="62.090908"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="icon_config_sound.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0">
<defs
id="defs4">
<linearGradient
id="linearGradient3802">
<stop
style="stop-color:#fdfdfd;stop-opacity:0;"
offset="0"
id="stop3804" />
<stop
id="stop3814"
offset="0.35707802"
style="stop-color:#b8b8b8;stop-opacity:1;" />
<stop
id="stop3810"
offset="0.5"
style="stop-color:#717171;stop-opacity:1;" />
<stop
style="stop-color:#b6b6b6;stop-opacity:1;"
offset="0.64876282"
id="stop3812" />
<stop
style="stop-color:#fbfbfb;stop-opacity:0;"
offset="1"
id="stop3806" />
</linearGradient>
<linearGradient
id="linearGradient3797">
<stop
id="stop3799"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop3801"
offset="1"
style="stop-color:#656565;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3169">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop3171" />
<stop
style="stop-color:#000067;stop-opacity:1;"
offset="1"
id="stop3173" />
</linearGradient>
<linearGradient
id="linearGradient4766">
<stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768" />
<stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770" />
</linearGradient>
<linearGradient
id="linearGradient4758">
<stop
style="stop-color:#a05a2c;stop-opacity:1;"
offset="0"
id="stop4760" />
<stop
style="stop-color:#3d2210;stop-opacity:1;"
offset="1"
id="stop4762" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<inkscape:perspective
id="perspective2484"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4758"
id="linearGradient4764"
x1="466.09601"
y1="485.96021"
x2="715.14801"
y2="485.96021"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4766"
id="linearGradient4772"
x1="496.548"
y1="485.26816"
x2="683.31201"
y2="485.26816"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3169"
id="radialGradient3175"
cx="120.07376"
cy="56.138123"
fx="120.07376"
fy="56.138123"
r="82.790039"
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0281354,0,0,1.0429299,85.21874,131.0326)" />
<linearGradient
id="linearGradient6482">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" />
<stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" />
<linearGradient
id="linearGradient6464">
<stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" />
<stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" />
</linearGradient>
<linearGradient
y2="62.909088"
x2="31.09091"
y1="1.8181819"
x1="32.090908"
gradientTransform="translate(86.2151,131.5372)"
gradientUnits="userSpaceOnUse"
id="linearGradient4477"
xlink:href="#linearGradient6464"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3802"
id="linearGradient3808"
x1="130.53949"
y1="179.4781"
x2="130.80582"
y2="150.92148"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3802"
id="linearGradient3031"
gradientUnits="userSpaceOnUse"
x1="130.53949"
y1="179.4781"
x2="130.80582"
y2="150.92148" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.9415244"
inkscape:cx="22.018778"
inkscape:cy="29.620124"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="465"
inkscape:window-height="423"
inkscape:window-x="-4"
inkscape:window-y="584"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-86.987816,-132.85536)">
<rect
style="fill:url(#linearGradient4477);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
id="rect6462"
width="61.636364"
height="61.090908"
x="87.487816"
y="133.35536"
ry="5.6363635" />
<rect
style="fill:url(#linearGradient6488);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect6472"
width="59.796619"
height="13.251164"
x="88.407707"
y="134.45705"
ry="4.7325583" />
<g
id="g3023"
transform="matrix(-1,0,0,-1,235.53472,326.55032)">
<path
inkscape:connector-curvature="0"
id="rect3015"
d="m 113.67532,142.79285 0,43.84374 18.5,-13.40625 14.0625,0 0,-16.59374 -13.4375,0 -19.125,-13.84375 z"
style="fill:#b6b6b6;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3791"
d="m 107.25028,182.88295 c -23.753359,-19.83452 -0.0827,-38.48619 -0.0827,-38.48619"
style="fill:none;stroke:#e96800;stroke-width:2.30299997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3791-1"
d="M 103.80137,187.75537 C 73.5834,162.52278 103.69616,138.79495 103.69616,138.79495"
style="fill:none;stroke:#e96800;stroke-width:2.16618037px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3791-7"
d="m 110.74869,177.97273 c -17.104281,-14.28241 -0.0595,-27.71308 -0.0595,-27.71308"
style="fill:none;stroke:#e96800;stroke-width:2.15799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
id="rect3015-1"
d="m 113.71148,150.58705 0,28.88551 18.50001,-8.83242 14.0625,0 0,-10.93244 -13.4375,0 -19.12501,-9.12065 z"
style="fill:url(#linearGradient3031);fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
<rect
y="142.77277"
x="112.37492"
height="43.822105"
width="1.3598391"
id="rect3800"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

+799
View File
@@ -0,0 +1,799 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
width="62.636364"
height="62.090908"
id="svg2"
sodipodi:version="0.32"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
sodipodi:docname="storage.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"><defs
id="defs4"><linearGradient
id="linearGradient3169"><stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop3171" /><stop
style="stop-color:#000067;stop-opacity:1;"
offset="1"
id="stop3173" /></linearGradient><linearGradient
id="linearGradient4766"><stop
style="stop-color:#784421;stop-opacity:1;"
offset="0"
id="stop4768" /><stop
style="stop-color:#3d2210;stop-opacity:0;"
offset="1"
id="stop4770" /></linearGradient><linearGradient
id="linearGradient4758"><stop
style="stop-color:#a05a2c;stop-opacity:1;"
offset="0"
id="stop4760" /><stop
style="stop-color:#3d2210;stop-opacity:1;"
offset="1"
id="stop4762" /></linearGradient><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" /><inkscape:perspective
id="perspective2484"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4758"
id="linearGradient4764"
x1="466.09601"
y1="485.96021"
x2="715.14801"
y2="485.96021"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4766"
id="linearGradient4772"
x1="496.548"
y1="485.26816"
x2="683.31201"
y2="485.26816"
gradientUnits="userSpaceOnUse" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3169"
id="radialGradient3175"
cx="120.07376"
cy="56.138123"
fx="120.07376"
fy="56.138123"
r="82.790039"
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6482"
id="linearGradient6488"
x1="32.18182"
y1="3.2835093"
x2="32.18182"
y2="13.02554"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0281354,0,0,1.0429299,85.21874,131.0326)" /><linearGradient
id="linearGradient6482"><stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6484" /><stop
style="stop-color:#00ff00;stop-opacity:0;"
offset="1"
id="stop6486" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6464"
id="linearGradient6470"
x1="32.090908"
y1="1.8181819"
x2="31.09091"
y2="62.909088"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-0.1818182)" /><linearGradient
id="linearGradient6464"><stop
style="stop-color:#0061ff;stop-opacity:1;"
offset="0"
id="stop6466" /><stop
style="stop-color:#001c4c;stop-opacity:1;"
offset="1"
id="stop6468" /></linearGradient><linearGradient
y2="62.909088"
x2="31.09091"
y1="1.8181819"
x1="32.090908"
gradientTransform="translate(86.2151,131.5372)"
gradientUnits="userSpaceOnUse"
id="linearGradient4477"
xlink:href="#linearGradient6464"
inkscape:collect="always" /><linearGradient
inkscape:collect="always"
id="linearGradient2916"><stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop2918" /><stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop2920" /></linearGradient><linearGradient
inkscape:collect="always"
id="linearGradient2902"><stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop2905" /><stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop2907" /></linearGradient><linearGradient
id="linearGradient2064"><stop
id="stop2066"
offset="0"
style="stop-color:white;stop-opacity:1;" /><stop
style="stop-color:#555753;stop-opacity:0.60000002;"
offset="0.5"
id="stop2070" /><stop
id="stop2068"
offset="1"
style="stop-color:#555753;stop-opacity:0;" /></linearGradient><linearGradient
id="linearGradient9641"><stop
style="stop-color:white;stop-opacity:1"
offset="0"
id="stop9643" /><stop
style="stop-color:#888a85;stop-opacity:1"
offset="1"
id="stop9645" /></linearGradient><linearGradient
id="linearGradient9633"><stop
style="stop-color:#eeeeec;stop-opacity:1"
offset="0"
id="stop9635" /><stop
style="stop-color:#888a85;stop-opacity:1"
offset="1"
id="stop9639" /></linearGradient><linearGradient
id="linearGradient9613"><stop
style="stop-color:white;stop-opacity:1"
offset="0"
id="stop9615" /><stop
id="stop9619"
offset="0.5"
style="stop-color:white;stop-opacity:1;" /><stop
style="stop-color:#cccfca;stop-opacity:1"
offset="1"
id="stop9617" /></linearGradient><linearGradient
id="linearGradient8710"><stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop8712" /><stop
style="stop-color:white;stop-opacity:1;"
offset="1"
id="stop8714" /></linearGradient><linearGradient
id="linearGradient8631"><stop
id="stop8633"
offset="0"
style="stop-color:#eeeeec;stop-opacity:1" /><stop
style="stop-color:#eeeeec;stop-opacity:1;"
offset="0.2"
id="stop8637" /><stop
id="stop8635"
offset="1"
style="stop-color:#babdb6;stop-opacity:1" /></linearGradient><linearGradient
id="linearGradient8625"><stop
id="stop8627"
offset="0"
style="stop-color:white;stop-opacity:1" /><stop
id="stop8629"
offset="1"
style="stop-color:#babdb6;stop-opacity:1" /></linearGradient><linearGradient
id="linearGradient8613"><stop
style="stop-color:#babdb6;stop-opacity:1"
offset="0"
id="stop8615" /><stop
style="stop-color:#2e3436;stop-opacity:1"
offset="1"
id="stop8617" /></linearGradient><linearGradient
id="linearGradient5740"><stop
style="stop-color:#d0d0cb;stop-opacity:1;"
offset="0"
id="stop5742" /><stop
style="stop-color:#babdb6;stop-opacity:1"
offset="1"
id="stop5744" /></linearGradient><linearGradient
id="linearGradient5690"><stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop5692" /><stop
style="stop-color:#888a85;stop-opacity:0.59848487"
offset="1"
id="stop5694" /></linearGradient><linearGradient
id="linearGradient2899"><stop
id="stop2901"
offset="0"
style="stop-color:#555753;stop-opacity:1" /><stop
id="stop2903"
offset="1"
style="stop-color:#2e3436;stop-opacity:1" /></linearGradient><linearGradient
id="linearGradient3468"><stop
style="stop-color:#fdfdfc;stop-opacity:1"
offset="0"
id="stop3470" /><stop
style="stop-color:white;stop-opacity:0.37121212"
offset="1"
id="stop3472" /></linearGradient><linearGradient
id="linearGradient2909"><stop
style="stop-color:white;stop-opacity:0;"
offset="0"
id="stop2911" /><stop
id="stop2917"
offset="0.5"
style="stop-color:white;stop-opacity:1;" /><stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop2913" /></linearGradient><linearGradient
id="linearGradient2839"><stop
style="stop-color:white;stop-opacity:0.25773194;"
offset="0"
id="stop2841" /><stop
id="stop2847"
offset="0.5472973"
style="stop-color:white;stop-opacity:1;" /><stop
style="stop-color:white;stop-opacity:0.24705882;"
offset="0.66243607"
id="stop2849" /><stop
id="stop2851"
offset="0.875"
style="stop-color:white;stop-opacity:0.83505154;" /><stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop2843" /></linearGradient><linearGradient
id="linearGradient2900"><stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop2902" /><stop
id="stop2908"
offset="0.5"
style="stop-color:black;stop-opacity:1;" /><stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop2904" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3468"
id="linearGradient3474"
x1="24.748737"
y1="35.354588"
x2="24.998737"
y2="14.997767"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.995556,0,-3.931113)" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2902"
id="radialGradient4700"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(4.095822,0,0,3.101282,-9.53921,-94.5433)"
cx="0"
cy="17"
fx="0"
fy="17"
r="2" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2902"
id="radialGradient4702"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(4.095822,0,0,3.101282,38.20996,-10.90025)"
cx="0"
cy="17"
fx="0"
fy="17"
r="2" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2900"
id="linearGradient4704"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.047911,0,0,2.067521,1.347566,6.673675)"
x1="9.8994951"
y1="20"
x2="9.8994951"
y2="13.979153" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2909"
id="linearGradient4711"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,1.42294,10.5,-14.95703)"
x1="15.335379"
y1="33.06237"
x2="20.329321"
y2="36.37693" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2909"
id="linearGradient4713"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,1.42294,-0.875,-15.04578)"
x1="15.335379"
y1="33.06237"
x2="20.329321"
y2="36.37693" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2909"
id="linearGradient4715"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.459833,0,-0.391165,1.370105,40.62503,-13.29892)"
x1="15.335379"
y1="33.06237"
x2="20.329321"
y2="36.37693" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5740"
id="radialGradient5748"
cx="25.251999"
cy="16.47991"
fx="25.251999"
fy="16.47991"
r="21.980215"
gradientTransform="matrix(1.032991,-0.596398,0.575121,0.99614,-12.23456,11.55448)"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2064"
id="linearGradient5790"
gradientUnits="userSpaceOnUse"
x1="18.048874"
y1="25.461344"
x2="22.211937"
y2="12.143078"
gradientTransform="matrix(0.940224,0,0,0.931632,1.331811,1.401537)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8631"
id="linearGradient5865"
x1="24"
y1="36.638382"
x2="25.818018"
y2="6.8314762"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2839"
id="linearGradient7658"
gradientUnits="userSpaceOnUse"
x1="27.057796"
y1="12.669416"
x2="32.042896"
y2="31.219666" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5690"
id="linearGradient8603"
x1="20.304037"
y1="24.035707"
x2="18.498415"
y2="40.647167"
gradientUnits="userSpaceOnUse" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8613"
id="radialGradient8619"
cx="7.5177727"
cy="30.573555"
fx="7.5177727"
fy="30.573555"
r="0.53125"
gradientTransform="matrix(1.662477,0,0,1.61358,-4.989175,-18.65647)"
gradientUnits="userSpaceOnUse" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient9613"
id="radialGradient8623"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.389748,0,0,1.348872,-2.91982,-10.63815)"
cx="7.5191436"
cy="30.304251"
fx="7.5191436"
fy="30.304251"
r="0.53125" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient9633"
id="radialGradient8664"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.569487,0,0,1.523325,-4.288627,-15.92107)"
cx="7.5336008"
cy="30.307562"
fx="7.5336008"
fy="30.307562"
r="0.53125" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8613"
id="radialGradient8666"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.662477,0,0,1.61358,-4.989175,-18.65647)"
cx="7.5177727"
cy="30.573555"
fx="7.5177727"
fy="30.573555"
r="0.53125" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8625"
id="radialGradient8676"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.662477,0,0,1.61358,-4.989175,-18.65647)"
cx="7.4792061"
cy="30.36071"
fx="7.4792061"
fy="30.36071"
r="0.53125" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8613"
id="radialGradient8678"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.662477,0,0,1.61358,-4.989175,-18.65647)"
cx="7.5177727"
cy="30.573555"
fx="7.5177727"
fy="30.573555"
r="0.53125" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient9641"
id="radialGradient8680"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.662477,0,0,1.61358,-4.989175,-18.65647)"
cx="7.4893188"
cy="30.337601"
fx="7.4893188"
fy="30.337601"
r="0.53125" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8613"
id="radialGradient8682"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.662477,0,0,1.61358,-4.989175,-18.65647)"
cx="7.5177727"
cy="30.573555"
fx="7.5177727"
fy="30.573555"
r="0.53125" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8710"
id="linearGradient8716"
x1="40.617188"
y1="30.554688"
x2="40.710938"
y2="30.359375"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8710"
id="linearGradient9605"
gradientUnits="userSpaceOnUse"
x1="40.617188"
y1="30.554688"
x2="40.710938"
y2="30.359375"
gradientTransform="matrix(0.602867,-0.797841,0.797841,0.602867,-41.12611,44.62773)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8710"
id="linearGradient9649"
gradientUnits="userSpaceOnUse"
x1="40.617188"
y1="30.554688"
x2="40.710938"
y2="30.359375"
gradientTransform="rotate(-30.000012,-5.5813167,76.089146)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8710"
id="linearGradient9654"
gradientUnits="userSpaceOnUse"
x1="40.617188"
y1="30.554688"
x2="40.710938"
y2="30.359375"
gradientTransform="matrix(0.707107,0.527555,-0.707107,0.527555,29.0058,-24.09196)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2916"
id="linearGradient2973"
x1="12.5"
y1="43.1875"
x2="12.5"
y2="34.045513"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2899"
id="linearGradient5655"
gradientUnits="userSpaceOnUse"
x1="53.812813"
y1="43.573235"
x2="-2.8138931"
y2="35.500015"
gradientTransform="translate(0,50)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2902"
id="linearGradient2992"
x1="21.9375"
y1="39"
x2="21.9375"
y2="37.995617"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2902"
id="linearGradient2910"
x1="22.101398"
y1="27.658131"
x2="22.971142"
y2="20.903238"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,2)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2916"
id="linearGradient2922"
x1="24.847851"
y1="28.908398"
x2="24.847851"
y2="25.757175"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,2)" /></defs><sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.8830488"
inkscape:cx="-3.9945275"
inkscape:cy="-14.363301"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1408"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:showpageshadow="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050" /><metadata
id="metadata7"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-86.987816,-132.85536)"><rect
style="fill:url(#linearGradient4477);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
id="rect6462"
width="61.636364"
height="61.090908"
x="87.487816"
y="133.35536"
ry="5.6363635" /><rect
style="fill:url(#linearGradient6488);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect6472"
width="59.796619"
height="13.251164"
x="88.407707"
y="134.45705"
ry="4.7325583" /><g
inkscape:label="Livello 1"
id="layer1-3"
style="display:inline"
transform="matrix(1.1537183,0,0,1.1537183,91.003924,136.40297)"><g
id="g3519"
style="opacity:0.7"
transform="matrix(1.030831,0,0,1.151147,-0.73609,-12.57431)"
inkscape:export-filename="/home/lapo/Desktop/uhm.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><rect
transform="scale(-1)"
y="-48.024086"
x="-9.5392103"
height="12.405126"
width="8.1916437"
id="rect2884"
style="opacity:1;fill:url(#radialGradient4700);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /><rect
y="35.618961"
x="38.209965"
height="12.405126"
width="8.1916437"
id="rect2894"
style="opacity:1;fill:url(#radialGradient4702);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /><rect
y="35.618961"
x="9.5392103"
height="12.405126"
width="28.670753"
id="rect2898"
style="opacity:1;fill:url(#linearGradient4704);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /></g><g
id="g5672"
transform="translate(0,-48.99747)"><path
sodipodi:nodetypes="ccccccccccccc"
id="rect2010"
d="M 4.5182287,80.500013 H 43.481768 c 0.564099,0 1.018229,0.45413 1.018229,1.018229 v 2.963543 c 0,1.315584 -0.450231,3.018228 -2.455729,3.018228 L 40.5,87.5 v 1 h -33 v -1 l -1.8567713,1.3e-5 c -1.2712053,0 -2.1432282,-0.884627 -2.1432282,-2.255665 v -3.726106 c 0,-0.564099 0.4541297,-1.018229 1.0182282,-1.018229 z"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient5655);fill-opacity:1;fill-rule:nonzero;stroke:#2e3436;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /><path
transform="translate(0,50)"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2973);stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
d="m 4.59375,31.59375 v 3.729743 c 0,0.599619 0.3756505,1.104854 0.8863276,1.104854 H 42.426407 c 0.512469,0 0.979843,-0.507235 0.979843,-1.016466 V 31.59375 Z"
id="path2076"
sodipodi:nodetypes="ccccccc" /><g
transform="translate(0,50)"
style="opacity:0.5"
id="g4706"><path
style="opacity:0.109524;fill:url(#linearGradient4711);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 26.144738,32.088747 c 0,0 -1.502602,5.533939 -3.226175,5.911253 0,0 6.231378,-0.125771 6.231378,-0.125771 1.387072,-0.317461 3.358758,-5.785482 3.358758,-5.785482 z"
id="path2907"
sodipodi:nodetypes="ccccc"
inkscape:export-filename="/home/lapo/Desktop/uhm.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" /><path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/lapo/Desktop/uhm.png"
sodipodi:nodetypes="ccccc"
id="path2892"
d="m 14.769738,32 c 0,0 -1.502602,5.533939 -3.226175,5.911253 0,0 6.231378,-0.125771 6.231378,-0.125771 C 19.162013,37.468021 21.133699,32 21.133699,32 Z"
style="opacity:0.109524;fill:url(#linearGradient4713);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /><path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/lapo/Desktop/uhm.png"
sodipodi:nodetypes="ccccc"
id="path2896"
d="m 34.886139,32 c 0,0 -2.212224,5.328458 -3.108503,5.691761 0,0 2.899969,-0.121101 2.899969,-0.121101 C 35.402697,37.264987 37.8125,32 37.8125,32 Z"
style="opacity:0.109524;fill:url(#linearGradient4715);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /></g></g><path
style="fill:url(#radialGradient5748);fill-opacity:1;stroke:#888a85;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
d="m 11.693127,10.498788 h 24.572566 c 1.68417,0 2.396517,0.117479 3.040019,2.385005 l 5.074491,17.881119 c 0.501024,1.765471 -1.355848,2.735101 -3.040018,2.735101 H 6.6186312 c -1.868408,0 -3.4893833,-1.181417 -3.0400182,-2.735101 L 8.8290448,12.611497 c 0.5683008,-1.964905 1.1799122,-2.112709 2.8640822,-2.112709 z"
id="rect1879"
sodipodi:nodetypes="cczzcczzc"
inkscape:export-filename="/home/lapo/Desktop/uhm.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" /><path
sodipodi:type="inkscape:offset"
inkscape:radius="-0.5"
inkscape:original="M 11.6875 10.5 C 10.00333 10.5 9.4120513 10.660095 8.84375 12.625 L 3.59375 30.75 C 3.1443849 32.303684 4.7565918 33.500002 6.625 33.5 L 41.34375 33.5 C 43.02792 33.5 44.876024 32.515471 44.375 30.75 L 39.3125 12.875 C 38.668998 10.607474 37.965419 10.5 36.28125 10.5 L 11.6875 10.5 z "
style="display:inline;opacity:0.462406;fill:url(#linearGradient7658);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
id="path5806"
d="m 11.6875,11 c -0.826242,0 -1.28475,0.05742 -1.5625,0.242188 -0.2777497,0.184768 -0.5284825,0.580009 -0.8007812,1.521484 l -5.2500001,18.125 c -0.1708248,0.590628 0.021709,1.039316 0.4902344,1.4375 C 5.0329784,32.724356 5.7975106,33.000001 6.625,33 h 34.71875 c 0.744655,0 1.538941,-0.232575 2.03125,-0.609375 0.492309,-0.3768 0.719298,-0.799984 0.519531,-1.503906 l -5.0625,-17.875 C 38.52278,11.922001 38.224454,11.462814 37.910156,11.253906 37.595859,11.044998 37.112699,11 36.28125,11 Z" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8623);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8621"
transform="matrix(-2.628602,0,0,1.777765,27.79309,-23.77739)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><path
style="fill:none;fill-opacity:1;stroke:url(#linearGradient5790);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 16.110953,12.552805 c -0.573581,0 -1.02837,0.431821 -1.02837,0.989859 l -0.940223,3.230801 c -2.859962,1.276514 -4.6423552,3.099073 -4.6423552,5.123976 0,3.856957 6.4790242,6.987239 14.4853222,6.98724 8.006296,0 14.514705,-3.130284 14.514704,-6.98724 0,-2.039034 -1.835591,-3.875388 -4.730501,-5.153089 l -0.940224,-3.201688 c 0,-0.558038 -0.454788,-0.989859 -1.02837,-0.989859 z"
id="path2784"
sodipodi:nodetypes="cccssscccc" /><path
style="display:inline;fill:none;fill-opacity:1;stroke:url(#linearGradient3474);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
d="m 11.6875,11.500005 c -0.803124,0 -1.097168,0.07051 -1.21875,0.155556 -0.121582,0.08504 -0.357707,0.40212 -0.6875,1.306667 l -5.25,18.137786 c -0.1337204,0.366765 -0.054827,0.533865 0.3125,0.84 0.3673267,0.306136 1.066693,0.56 1.78125,0.560001 h 34.71875 c 0.639793,0 1.393345,-0.237954 1.78125,-0.52889 0.387905,-0.290935 0.488311,-0.382809 0.3125,-0.871111 L 38.375,13.242228 c -0.377206,-1.04766 -0.68208,-1.439297 -0.84375,-1.555556 -0.16167,-0.116259 -0.443711,-0.186667 -1.25,-0.186667 z"
id="path3394"
sodipodi:nodetypes="csccsccsccscc" /><g
id="g5657"
transform="translate(7,-1)"
style="opacity:0.302857"><rect
ry="0.74712253"
rx="0.75130093"
y="35.500008"
x="18.499996"
height="1.9999924"
width="14.000004"
id="rect5641"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#eeeeec;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /><rect
y="36"
x="19"
height="1"
width="1"
id="rect5645"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /><rect
y="36"
x="22"
height="1"
width="1"
id="rect5647"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /><rect
y="36"
x="24"
height="1"
width="1"
id="rect5649"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /><rect
y="36"
x="26"
height="1"
width="1"
id="rect5651"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /><rect
y="36"
x="29"
height="1"
width="2"
id="rect5653"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /></g><path
sodipodi:type="inkscape:offset"
inkscape:radius="-0.44194174"
inkscape:original="M 16.125 12.5625 C 15.55142 12.5625 15.09375 12.973212 15.09375 13.53125 L 14.15625 16.78125 C 11.296288 18.057765 9.5 19.881347 9.5 21.90625 C 9.5 25.763206 15.993702 28.874999 24 28.875 C 32.006296 28.874999 38.500001 25.763206 38.5 21.90625 C 38.5 19.867215 36.67616 18.027701 33.78125 16.75 L 32.84375 13.53125 C 32.843748 12.973212 32.386082 12.5625 31.8125 12.5625 L 16.125 12.5625 z "
style="display:inline;fill:url(#linearGradient5865);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path5857"
d="m 16.125,13.003906 c -0.362612,0 -0.589844,0.210942 -0.589844,0.527344 a 0.44198593,0.44198593 0 0 1 -0.01758,0.123047 l -0.9375,3.25 a 0.44198593,0.44198593 0 0 1 -0.24414,0.28125 c -1.389903,0.620369 -2.504368,1.368471 -3.25586,2.177734 -0.751491,0.809263 -1.1386718,1.661199 -1.1386717,2.542969 0,1.680455 1.4530107,3.311153 3.9980467,4.533203 2.545037,1.22205 6.114654,1.99414 10.060547,1.994141 3.945892,-1e-6 7.51551,-0.772091 10.060547,-1.994141 2.545037,-1.22205 3.998047,-2.852748 3.998047,-4.533203 0,-0.887751 -0.391823,-1.747213 -1.154297,-2.5625 -0.762474,-0.815287 -1.893636,-1.568394 -3.300781,-2.189453 a 0.44198593,0.44198593 0 0 1 -0.246094,-0.28125 l -0.9375,-3.21875 a 0.44198593,0.44198593 0 0 1 -0.01758,-0.123047 c -10e-7,-0.316404 -0.22723,-0.527344 -0.589844,-0.527344 z" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:0.0530303;fill-rule:nonzero;stroke:url(#linearGradient8603);stroke-width:2.52015;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8595"
transform="matrix(0.449978,0,0,0.349909,16.36363,12.21469)"
cx="16.970562"
cy="25.107418"
rx="7.7781744"
ry="4.2868347" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8619);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8611"
transform="matrix(1.411772,0,0,0.969697,-3.014767,0.848485)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8664);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.462594;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8660"
transform="matrix(-2.628602,0,0,1.777765,60.79309,-23.77739)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8666);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8662"
transform="matrix(1.411772,0,0,0.969697,29.98523,0.848485)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8676);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8668"
transform="matrix(-2.628602,0,0,1.777765,31.79309,-40.77739)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8678);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8670"
transform="matrix(1.411772,0,0,0.969697,0.985233,-16.15152)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8680);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8672"
transform="matrix(-2.628602,0,0,1.777765,56.3029,-40.77739)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><ellipse
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient8682);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.4;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path8674"
transform="matrix(1.411772,0,0,0.969697,25.49504,-16.15152)"
cx="7.625"
cy="30.578125"
rx="0.53125"
ry="0.515625" /><path
style="opacity:0.4;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8716);stroke-width:0.3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 40.328109,30.261401 0.874999,0.430332"
id="path8700" /><path
style="display:inline;opacity:0.4;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient9605);stroke-width:0.3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 7.330186,30.695906 8.201031,30.257228"
id="path9603" /><path
style="display:inline;opacity:0.4;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient9649);stroke-width:0.3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 11.263531,13.446473 0.972937,-0.06482"
id="path9647" /><path
style="display:inline;opacity:0.4;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient9654);stroke-width:0.3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 36.124038,13.147874 0.314427,0.688634"
id="path9652" /><rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.12;fill:url(#linearGradient2992);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.681836;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="rect2984"
width="32.03125"
height="1"
x="8"
y="38" /><path
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.12;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2910);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
d="M 10.460155,15.082355 6.8513979,27.675762 C 8.2982685,28.375511 10.625,29.167061 10.429825,31.533131 H 37.299883 C 37.869398,29.640915 39.875,28.375 41.34614,28.25 L 37.498106,15.082355 32.350135,12.523347 H 14.318912 Z"
id="path1997"
sodipodi:nodetypes="ccccccccc" /><path
sodipodi:nodetypes="ccccc"
id="path2912"
d="m 7.9763979,27.050762 c 1.4468706,0.699749 3.1789321,1.433241 3.4256991,3.357369 H 36.857941 C 37.427456,28.515915 38.875,27.5 40.34614,27.375 Z"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.834286;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2922);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /></g></g></svg>

After

Width:  |  Height:  |  Size: 40 KiB

+249
View File
@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="white_highlight.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#5f5f5f;stop-opacity:0;" />
<stop
style="stop-color:#444444;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#3c3c3c;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#000000;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#3a3a3a;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#a2a2a2;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="100.5809"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="black.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#909090;stop-opacity:0;" />
<stop
style="stop-color:#a2a2a2;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#8c8c8c;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#303030;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#3a3a3a;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#a2a2a2;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="100.5809"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

+250
View File
@@ -0,0 +1,250 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="appicon.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#007400;stop-opacity:0;" />
<stop
style="stop-color:#007400;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#007400;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:black;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#007400;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#00fe00;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="69.43506"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer4"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="opacity:1;fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline"
sodipodi:insensitive="true">
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="opacity:1;fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="green.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#00df00;stop-opacity:0;" />
<stop
style="stop-color:#00f000;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#00e400;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#222222;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#007400;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#00fe00;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="65.714286"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="opacity:1;fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="M 300,150 A 150,150 0 1 1 0,150 A 150,150 0 1 1 300,150 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="opacity:1;fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 3;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="black.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#d8d8d8;stop-opacity:0;" />
<stop
style="stop-color:#d6d6d6;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.67647058"
style="stop-color:#d8d8d8;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#3a3a3a;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#cdcdcd;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="137.49249"
inkscape:cy="145.80575"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="general.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#d8d8d8;stop-opacity:0;" />
<stop
style="stop-color:#d6d6d6;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.86764705"
style="stop-color:#d8d8d8;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#3a3a3a;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#cdcdcd;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="137.49249"
inkscape:cy="145.80575"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

+249
View File
@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="blue_highlight.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#740000;stop-opacity:0;" />
<stop
style="stop-color:#740000;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#740000;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:black;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#740000;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#fe0000;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="-95.207797"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="red.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#f20000;stop-opacity:0;" />
<stop
style="stop-color:#ff0d0d;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#ff4343;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:black;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#740000;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#fe0000;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="-95.207797"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

+258
View File
@@ -0,0 +1,258 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
version="1.0"
sodipodi:docname="storm.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#ff8632;stop-opacity:0;" />
<stop
style="stop-color:#ff8232;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#cf5300;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:black;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#ff8232;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#ff4d32;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3782"
gradientUnits="userSpaceOnUse"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="56.521564"
inkscape:cy="177.14958"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1920"
inkscape:window-height="1028"
inkscape:window-x="-8"
inkscape:window-y="-8"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1.0;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3782);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
transform="translate(-1.4253374e-6,2.8293252e-6)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1.0;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
transform="translate(-0.28640902,0.00435494)" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

@@ -0,0 +1,258 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
version="1.0"
sodipodi:docname="storm_highlight.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#ff8632;stop-opacity:0;" />
<stop
style="stop-color:#ffb98c;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#ffa163;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:black;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#ff8232;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#ff4d32;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3782"
gradientUnits="userSpaceOnUse"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="-22.270334"
inkscape:cy="177.14958"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1920"
inkscape:window-height="1028"
inkscape:window-x="-8"
inkscape:window-y="-8"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1.0;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3782);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
transform="translate(-1.4253374e-6,2.8293252e-6)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1.0;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
transform="translate(-0.28640902,0.00435494)" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

+249
View File
@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="blue.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#0060c8;stop-opacity:0;" />
<stop
style="stop-color:#0062a2;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#005994;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:black;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#0077ec;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#78afff;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="128.66366"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="blue.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#1988ff;stop-opacity:0;" />
<stop
style="stop-color:#15a3ff;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#24a8ff;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#151515;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#0077ec;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#78afff;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="128.66366"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

+249
View File
@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="white.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#fffe6b;stop-opacity:0;" />
<stop
style="stop-color:#f9ff76;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#fcff81;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#000000;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#fffec4;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#f2ff76;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="102.00947"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.0 r9654"
version="1.0"
sodipodi:docname="white.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 150 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="300 : 150 : 1"
inkscape:persp3d-origin="150 : 100 : 1"
id="perspective31" />
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#fefce9;stop-opacity:0;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
id="linearGradient3813">
<stop
id="stop3815"
offset="0"
style="stop-color:#fffead;stop-opacity:0;" />
<stop
style="stop-color:#f9ff76;stop-opacity:0.40000001;"
offset="0.5"
id="stop4577" />
<stop
id="stop4579"
offset="0.75"
style="stop-color:#fdffad;stop-opacity:0.60000002;" />
<stop
id="stop3817"
offset="1"
style="stop-color:#3e3e3e;stop-opacity:0.80000001;" />
</linearGradient>
<linearGradient
id="linearGradient3779">
<stop
style="stop-color:#fffec4;stop-opacity:1;"
offset="0"
id="stop3781" />
<stop
style="stop-color:#f2ff76;stop-opacity:1;"
offset="1"
id="stop3783" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3779"
id="linearGradient3785"
x1="1.0101526"
y1="2.0049992"
x2="300"
y2="300"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3813"
id="radialGradient3819"
cx="150"
cy="150"
fx="150"
fy="150"
r="150"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="149.99989"
y1="0.45544016"
x2="149.99989"
y2="299.54449"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective2461"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2511"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2578"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2650"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2467"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2519"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2571"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2621"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="-62.633386"
inkscape:cy="229.83929"
inkscape:document-units="px"
inkscape:current-layer="layer2"
width="765px"
height="1260px"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-x="0"
inkscape:window-y="25"
showgrid="false"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Button"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path2760"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3785);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3788"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Schatten"
style="display:inline">
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3819);fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3790"
sodipodi:cx="150"
sodipodi:cy="150"
sodipodi:rx="150"
sodipodi:ry="150"
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Icon" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Glanz"
style="display:inline"
sodipodi:insensitive="true">
<path
d="m 300,150 a 150,150 0 1 1 -300,0 150,150 0 1 1 300,0 z"
sodipodi:ry="150"
sodipodi:rx="150"
sodipodi:cy="150"
sodipodi:cx="150"
id="path3821"
style="fill:url(#linearGradient3847);fill-opacity:1;fill-rule:evenodd;stroke:none"
sodipodi:type="arc"
transform="matrix(0.649475,0,0,0.476763,52.5787,2)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

+152
View File
@@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
<svg id="svg548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="480" width="640" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata id="metadata128">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<g id="g3634">
<g id="g3379" transform="matrix(1.25 0 0 .93750 0 .0000046874)">
<g id="g3111">
<g id="g3105">
<g id="flag" fill-rule="evenodd" transform="matrix(.72249 0 0 1.0321 0 -16.449)" stroke-width="1pt">
<rect id="rect895" height="496.06" width="237.4" y="15.937" x="0" fill="#0000bd"/>
<rect id="rect896" height="496.06" width="237.4" y="15.937" x="471.26" fill="#cc1900"/>
<rect id="rect897" height="496.06" width="233.86" y="15.937" x="237.4" fill="#fff600"/>
</g>
</g>
</g>
</g>
<g id="g919" transform="matrix(1.4342 0 0 1.4102 -183.84 -822.43)">
<g id="g853" stroke-width="1pt">
<path id="path738" d="m398.54 290.22c47.823 0.818 44.515-29.149 61.974-32.126 17.458-2.977 33.928 12.489 33.302 29.972 1.873 20.814-29.714 20.963-31.637 38.298-1.923 17.336 15.378 22.628 33.302 19.982s30.646-20.363 39.804-28.689c-13.321 7.493-24.218 4.778-25.21-8.558 0.673-17.497 18.103-23.847 26.345-17.96 6.476-5.298 6.09-7.423 13.209-6.246 4.828 2.944 6.143 2.861 8.999 7.418 3.717-2.355 5.269-3.54 12.204-0.597 4.306 1.767 7.181 4.961 9.841 9.808 3.146-2.486 8.086-3.413 13.762-0.197 3.61 1.837 8.108 7.182 8.72 12.995 8.451 1.696 11.381 3.654 14.034 7.953 15.765 21.775-2.435 58.473-1.432 77.205 1.004 18.731 16.651 19.981 16.651 19.981-14.717-9.42-0.201-15.9 6.745-16.55 22.252 2.292 18.508 35.135-5.18 29.366-18.978-5.18 38.921 3.281 37.525 62.637-1.396 61.021-32.815 49.01-32.815 49.01s26.838 10.109 21.646 30.09c-5.191 13.507-32.933 22.456-30.578-3.448-8.242 11.186-10.608 15.913-10.58 32.916-1.148 21.713 0.656 31.631 6.845 42.301 1.48-9.935 8.206-10.361 13.952-9.1 8.101 0.084 12.607 6.442 9.563 14.684 4.079-1.035 7.801 1.757 9.402 5.121 1.255 6.206 4.037 8.956-2.439 11.311 6.476 1.178 9.61 2.024 10.377 11.049 0.18 7.261-12.596 11.246-26.136 8.891 7.065 3.533 29.983 50.025 26.922 103.44-2.119 47.905-86.038 43.639-123.53 42.305-37.488-1.332-72.512 0.775-87.133 13.052 11.247 7.182-1.302 29.542-10.864 19.064 0 8.242-9.449 20.979-22.497 12.718 0.534 14.885-14.238 25.328-27.121 25.328s-27.655-10.443-27.121-25.328c-13.048 8.261-22.497-4.476-22.497-12.718-9.562 10.478-22.111-11.882-10.864-19.064-14.621-12.277-49.645-14.384-87.133-13.052-37.489 1.334-121.41 5.6-123.53-42.305-3.061-53.418 23.699-99.91 30.764-103.44-13.54 2.355-26.316-1.63-26.136-8.891 0.767-9.025 3.901-9.871 10.377-11.049-6.476-2.355-3.694-5.105-2.439-11.311 1.601-3.364 5.323-6.156 9.402-5.121-3.044-8.242 1.462-14.6 9.563-14.684 5.746-1.261 12.472-0.835 13.952 9.1 6.189-10.67 7.993-20.588 6.845-42.301 0.028-17.003-2.338-21.73-10.58-32.916 2.355 25.904-25.387 16.955-30.578 3.448-5.192-19.981 21.646-30.09 21.646-30.09s-31.419 12.011-32.815-49.01c-1.396-59.356 56.503-67.817 37.525-62.637-23.688 5.769-27.432-27.074-5.18-29.366 6.946 0.65 21.462 7.13 6.745 16.55 0 0 15.647-1.25 16.651-19.981 1.003-18.732-17.197-55.43-1.432-77.205 2.653-4.299 5.583-6.257 14.034-7.953 0.612-5.813 5.11-11.158 8.72-12.995 5.676-3.216 10.616-2.289 13.762 0.197 2.66-4.847 5.535-8.041 9.841-9.808 6.935-2.943 8.487-1.758 12.204 0.597 2.856-4.557 4.171-4.474 8.999-7.418 7.119-1.177 6.733 0.948 13.209 6.246 8.242-5.887 25.672 0.463 26.345 17.96-0.992 13.336-11.889 16.051-25.21 8.558 9.158 8.326 21.88 26.043 39.804 28.689s35.225-2.646 33.302-19.982c-1.923-17.335-33.51-17.484-31.637-38.298-0.626-17.483 15.844-32.949 33.302-29.972 17.459 2.977 14.151 32.944 62.182 32.126z" fill-rule="evenodd" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="#cba323"/>
<path id="path619" d="m356.44 346.62c-0.575 17.961-31.258 14.828-51.514 13.859-26.326-1.231-77.59-46.08-44.263-69.888" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path625" d="m164.84 449.52c-16.484 17.662 28.691 13.497 9.419-9.419-7.87-8.82-41.21 18.839-41.21 49.452s10.597 44.742 16.484 45.919c5.887 1.178 15.307-3.532 15.307-8.241 0-5.887-4.71-15.307-11.774-14.13-11.775 0-5.888 10.597-0.001 10.597" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path626" d="m163.39 451.39s-24.453 9.908-24.453 39.343c0 29.436 7.065 28.259 7.065 28.259" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path627" d="m166.02 430.68s24.726-3.533 23.549 18.838c-1.178 22.371-9.42 23.549-22.371 22.371-12.952-1.177-5.887-16.483-5.887-16.483" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path628" d="m156.6 543.71s18.839-1.178 17.661-21.194c-1.177-20.016-15.306-21.194-23.548-20.016-8.242 1.177-10.74 5.803-8.242 12.88" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path630" d="m150.71 567.26s3.936-8.158 16.887-8.158c12.952 0 18.982 30.386 17.805 63.354-1.178 32.968-33.515 61.37-40.58 59.015-7.064-2.355-10.597-3.533-4.71-8.242" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path633" d="m172.39 643.31-22.859 38.166" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path634" d="m141.29 667.34c0 0.416 5.054-1.105 8.587 1.249 3.532 2.355 4.365 5.816 4.365 5.816" transform="matrix(.38925 0 0 .37394 195.85 536.34)" stroke="#000" fill="none"/>
<path id="path635" d="m144.82 650.86s4.517-1.819 10.404 0.536 5.695 7.662 5.695 7.662" transform="matrix(.35485 0 0 .26779 202.53 605.66)" stroke="#000" fill="none"/>
<path id="path636" d="m171.78 731.95c12.251 6.364 24.282-25.181 0.671-26.726-16.888-0.69-29.085 23.268-26.73 35.041 6.431 40.061 10.444 66.861 50.568 72.045 30.613 2.355 78.451-5.101 108.3-1.523 29.44 3.433 61.94 14.272 73.714 26.047 11.774 11.774 19.112 11.892 19.112 23.667 0 11.774-16.815 17.816-23.476 10.74" transform="matrix(.38925 0 0 .37394 195.83 537.04)" stroke="#000" fill="none"/>
<path id="path637" d="m369.84 876.92c4.305-2.914 14.556-20.425 4.722-30.815-15.194-15.401-26.165-21.479-33.658-23.977" transform="matrix(.38925 0 0 .37394 195.83 537.04)" stroke="#000" fill="none"/>
<path id="path638" d="m347.55 863.28c5.828-3.532 6.684-15.298 0.594-24.274-6.091-8.975-21.941-16.165-53.073-18.799-23.583-1.982-87.844 8.444-111.39 1.379-33.059-12.721-53.845-34.149-48.773-87.391 1.521-20.621 11.917-34.465 32.278-37.105 22.858-0.143 28.813 14.734 28.813 33.571 0 9.681-25.317 18.878-29.909 9.705-7.109-12.854-10.217-24.451 15.881-30.607" transform="matrix(.38925 0 0 .37394 195.83 537.04)" stroke="#000" fill="none"/>
<path id="path642" d="m337.41 844.59s9.765 5.685 7.41 10.395c-2.354 4.709-8.658 2.7-4.496-2.296" transform="matrix(.38925 0 0 .37394 195.83 537.04)" stroke="#000" fill="none"/>
<path id="path643" d="m238.95 291.4s-6.66 6.66-3.33 22.479 9.991 14.987 9.991 14.987" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path644" d="m216.47 300.55c-0.833 1.665-9.706 11.858-4.71 22.681 4.995 10.824 8.956 12.977 8.956 12.977" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path645" d="m193.99 313.87s-7.195 10.622-8.567 29.555 7.789 45 7.533 54.698c-0.581 20.609-24.012 30.839-24.012 30.839" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path652" d="m159.85 543.66c1.665 0 34.135-29.972 34.135 76.597-2.498 61.61-38.298 67.438-38.298 67.438" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path653" d="m162.49 689.71c13.148-3.336 40.425 10.99 30.613 35.324" transform="matrix(.38925 0 0 .37394 196.91 537.13)" stroke="#000" fill="none"/>
<path id="path654" d="m167.78 681.47c8.439 0.785 15.319 6.904 18.458 15.343" transform="matrix(.38925 0 0 .37394 196.12 536.47)" stroke="#000" fill="none"/>
<path id="path655" d="m148.2 477.06s9.991 14.154 24.977 14.154 19.982-15.819 19.982-15.819" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path656" d="m146.53 484.55s9.158 16.652 24.977 17.484c15.819 0.833 21.647-10.823 21.647-10.823" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path657" d="m179.84 509.52s11.657 4.996 11.657 19.15c0 14.153-10.824 10.823-10.824 10.823" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path712" d="m356.44 346.62c-0.575 17.961-31.258 14.828-51.514 13.859-26.326-1.231-77.59-46.08-44.263-69.888" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path713" d="m164.84 449.52c-16.484 17.662 28.691 13.497 9.419-9.419-7.87-8.82-41.21 18.839-41.21 49.452s10.597 44.742 16.484 45.919c5.887 1.178 15.307-3.532 15.307-8.241 0-5.887-4.71-15.307-11.774-14.13-11.775 0-5.888 10.597-0.001 10.597" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path714" d="m163.39 451.39s-24.453 9.908-24.453 39.343c0 29.436 7.065 28.259 7.065 28.259" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path715" d="m166.02 430.68s24.726-3.533 23.549 18.838c-1.178 22.371-9.42 23.549-22.371 22.371-12.952-1.177-5.887-16.483-5.887-16.483" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path716" d="m156.6 543.71s18.839-1.178 17.661-21.194c-1.177-20.016-15.306-21.194-23.548-20.016-8.242 1.177-10.74 5.803-8.242 12.88" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path717" d="m150.71 567.26s3.936-8.158 16.887-8.158c12.952 0 18.982 30.386 17.805 63.354-1.178 32.968-33.515 61.37-40.58 59.015-7.064-2.355-10.597-3.533-4.71-8.242" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path718" d="m172.39 643.31-22.859 38.166" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path719" d="m141.29 667.34c0 0.416 5.054-1.105 8.587 1.249 3.532 2.355 4.365 5.816 4.365 5.816" transform="matrix(-.38925 0 0 .37394 506.83 536.47)" stroke="#000" fill="none"/>
<path id="path720" d="m144.82 650.86s4.517-1.819 10.404 0.536 5.695 7.662 5.695 7.662" transform="matrix(-.35485 0 0 .26779 500.15 605.66)" stroke="#000" fill="none"/>
<path id="path721" d="m170.42 741.5c-2.354 0 15.451-19.877-0.688-23.897-20.284-3.872-28.744 16.55-26.389 28.323 5.072 28.746 16.897 64.033 52.945 66.388 30.613 2.355 78.451-5.101 108.3-1.523 29.44 3.433 61.94 14.272 73.714 26.047 11.774 11.774 19.112 11.892 19.112 23.667 0 11.774-16.815 17.816-23.476 10.74" transform="matrix(-.38925 0 0 .37394 505.26 537.04)" stroke="#000" fill="none"/>
<path id="path722" d="m369.84 876.92c4.305-2.914 14.556-20.425 4.722-30.815-15.194-15.401-26.165-21.479-33.658-23.977" transform="matrix(-.38925 0 0 .37394 505.26 537.04)" stroke="#000" fill="none"/>
<path id="path723" d="m347.55 863.28c5.828-3.532 6.684-15.298 0.594-24.274-6.091-8.975-21.941-16.165-53.073-18.799-23.583-1.982-87.844 8.444-111.39 1.379-43.929-18.378-53.505-42.635-52.509-81.734 1.521-20.621 12.257-36.587 32.618-39.227 22.858-0.143 26.774 11.906 26.774 30.744 0 9.68-9.013 25.716-21.334 23.362-12.322-3.188-21.92-25.013-1.106-36.669" transform="matrix(-.38925 0 0 .37394 505.26 537.04)" stroke="#000" fill="none"/>
<path id="path724" d="m337.41 844.59s9.765 5.685 7.41 10.395c-2.354 4.709-8.658 2.7-4.496-2.296" transform="matrix(-.38925 0 0 .37394 505.26 537.04)" stroke="#000" fill="none"/>
<path id="path725" d="m238.95 291.4s-6.66 6.66-3.33 22.479 9.991 14.987 9.991 14.987" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path726" d="m216.47 300.55c-0.833 1.665-9.706 11.858-4.71 22.681 4.995 10.824 8.956 12.977 8.956 12.977" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path727" d="m193.99 313.87s-7.195 10.622-8.567 29.555 7.789 45 7.533 54.698c-0.581 20.609-24.012 30.839-24.012 30.839" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path730" d="m159.85 543.66c1.665 0 34.135-29.972 34.135 76.597-2.498 61.61-38.298 67.438-38.298 67.438" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path731" d="m158.07 701.03c16.205-14.296 47.219 13.112 35.708 38.506" transform="matrix(-.38925 0 0 .37394 506.56 534.49)" stroke="#000" fill="none"/>
<path id="path732" d="m167.78 681.47c8.439 0.785 17.357 6.197 20.496 14.636" transform="matrix(-.38925 0 0 .37394 508.02 537.4)" stroke="#000" fill="none"/>
<path id="path733" d="m148.2 477.06s9.991 14.154 24.977 14.154 19.982-15.819 19.982-15.819" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path734" d="m146.53 484.55s9.158 16.652 24.977 17.484c15.819 0.833 21.647-10.823 21.647-10.823" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path735" d="m179.84 509.52s11.657 4.996 11.657 19.15c0 14.153-10.824 10.823-10.824 10.823" transform="matrix(-.38925 0 0 .37394 506.43 536.23)" stroke="#000" fill="none"/>
<path id="path741" d="m353.01 313.46c0.416-0.416-1.665-9.159 8.326-8.742 9.99 0.416 6.244 9.574 14.57 12.904 7.909 2.082 22.063 4.164 22.528 4.164s14.619-2.082 22.528-4.164c8.326-3.33 4.58-12.488 14.57-12.904 9.991-0.417 7.91 8.326 8.326 8.742" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path744" d="m373.28 349.42c-0.294-4.121-1.249-9.55-6.871-9.966-10.525-0.345-18.856 20.605 4.444 20.753 17.055 0.111 17.198-32.355 0.804-32.831-23.549-0.667-26.788 13.389-26.402 16.143 5.957-50.397-33.246-40.206-31.373-59.77 0.207-10.606 10.849-11.822 22.479-9.857 17.459 2.799 14.151 30.967 62.078 30.198 47.927 0.769 44.619-27.399 62.078-30.198 11.63-1.965 22.272-0.749 22.479 9.857 1.873 19.564-37.33 9.373-31.373 59.77 0.386-2.754-2.853-16.81-26.402-16.143-16.394 0.476-16.251 32.942 0.804 32.831 23.3-0.148 14.969-21.098 4.444-20.753-5.622 0.416-6.577 5.845-6.871 9.966" transform="matrix(.38925 0 0 .37394 196.25 536.23)" stroke="#000" fill="none"/>
<path id="path814" d="m404.47 889.55v0.217h-4.155v-0.217h0.264c0.231 0 0.416-0.041 0.557-0.123 0.101-0.055 0.179-0.148 0.234-0.281 0.043-0.094 0.065-0.34 0.065-0.738v-5.227c0-0.406-0.022-0.66-0.065-0.762-0.043-0.101-0.131-0.189-0.264-0.263-0.129-0.079-0.304-0.118-0.527-0.118h-0.264v-0.216h4.155v0.216h-0.264c-0.23 0-0.416 0.041-0.557 0.123-0.101 0.055-0.181 0.149-0.24 0.282-0.043 0.093-0.064 0.34-0.064 0.738v5.227c0 0.406 0.021 0.66 0.064 0.761 0.047 0.102 0.135 0.192 0.264 0.27 0.133 0.074 0.31 0.111 0.533 0.111h0.264z" transform="matrix(1.0544 -.26437 .21258 1.3113 -201.97 -224.59)"/>
<path id="path815" d="m399.64 881.82v2.15h-0.211c-0.125-0.496-0.264-0.852-0.416-1.066-0.153-0.219-0.362-0.393-0.627-0.522-0.149-0.07-0.409-0.105-0.78-0.105h-0.591v6.129c0 0.406 0.021 0.66 0.064 0.761 0.047 0.102 0.135 0.192 0.264 0.27 0.132 0.074 0.312 0.111 0.539 0.111h0.263v0.217h-4.16v-0.217h0.264c0.23 0 0.416-0.041 0.557-0.123 0.101-0.055 0.181-0.148 0.24-0.281 0.043-0.094 0.064-0.34 0.064-0.738v-6.129h-0.574c-0.535 0-0.924 0.113-1.166 0.34-0.34 0.316-0.555 0.767-0.645 1.353h-0.222v-2.15h7.137z" transform="matrix(1.0667 -.17210 .13839 1.3265 -141.19 -274.74)"/>
<path id="path820" d="m370.04 882.28v3.263h0.229c0.351 0 0.638-0.052 0.861-0.158 0.222-0.105 0.41-0.283 0.562-0.533 0.157-0.25 0.258-0.588 0.305-1.014h0.205v3.99h-0.205c-0.074-0.753-0.277-1.25-0.609-1.488-0.328-0.242-0.702-0.363-1.119-0.363h-0.229v2.432c0 0.406 0.021 0.66 0.064 0.761 0.047 0.102 0.135 0.192 0.264 0.27 0.133 0.074 0.311 0.111 0.533 0.111h0.264v0.217h-4.154v-0.217h0.263c0.231 0 0.416-0.041 0.557-0.123 0.102-0.055 0.18-0.148 0.234-0.281 0.043-0.094 0.065-0.34 0.065-0.738v-5.227c0-0.406-0.022-0.66-0.065-0.762-0.043-0.101-0.13-0.189-0.263-0.263-0.129-0.079-0.305-0.118-0.528-0.118h-0.263v-0.216h6.703v2.279h-0.24c-0.055-0.535-0.196-0.932-0.422-1.19-0.223-0.257-0.547-0.439-0.973-0.544-0.234-0.059-0.668-0.088-1.301-0.088h-0.738z" transform="matrix(1.0721 -.10760 .086523 1.3333 -97.42 -305.95)"/>
<path id="path823" d="m354.64 881.82v2.15h-0.211c-0.125-0.496-0.264-0.852-0.416-1.066-0.153-0.219-0.362-0.393-0.627-0.522-0.149-0.07-0.409-0.105-0.78-0.105h-0.591v6.129c0 0.406 0.021 0.66 0.064 0.761 0.047 0.102 0.135 0.192 0.264 0.27 0.132 0.074 0.312 0.111 0.539 0.111h0.263v0.217h-4.16v-0.217h0.264c0.23 0 0.416-0.041 0.557-0.123 0.101-0.055 0.181-0.148 0.24-0.281 0.043-0.094 0.064-0.34 0.064-0.738v-6.129h-0.574c-0.535 0-0.924 0.113-1.166 0.34-0.34 0.316-0.555 0.767-0.645 1.353h-0.222v-2.15h7.137z" transform="matrix(1.0756 0 0 1.3376 -22.152 -348.78)"/>
<path id="path824" d="m346.8 889.55v0.217h-4.154v-0.217h0.263c0.231 0 0.416-0.041 0.557-0.123 0.101-0.055 0.18-0.148 0.234-0.281 0.043-0.094 0.065-0.34 0.065-0.738v-5.227c0-0.406-0.022-0.66-0.065-0.762-0.043-0.101-0.131-0.189-0.263-0.263-0.129-0.079-0.305-0.118-0.528-0.118h-0.263v-0.216h4.154v0.216h-0.264c-0.23 0-0.416 0.041-0.556 0.123-0.102 0.055-0.182 0.149-0.241 0.282-0.043 0.093-0.064 0.34-0.064 0.738v5.227c0 0.406 0.021 0.66 0.064 0.761 0.047 0.102 0.135 0.192 0.264 0.27 0.133 0.074 0.311 0.111 0.533 0.111h0.264z" transform="matrix(1.0756 0 0 1.3376 -22.555 -348.78)"/>
<path id="path825" d="m336.73 881.82 3.92 4.927v-3.416c0-0.476-0.069-0.798-0.206-0.966-0.187-0.227-0.502-0.336-0.943-0.329v-0.216h2.625v0.216c-0.336 0.043-0.562 0.1-0.68 0.17-0.113 0.067-0.203 0.178-0.269 0.334-0.063 0.153-0.094 0.416-0.094 0.791v6.616h-0.199l-5.373-6.616v5.051c0 0.457 0.103 0.766 0.31 0.926 0.211 0.16 0.452 0.24 0.721 0.24h0.188v0.217h-2.819v-0.217c0.438-0.004 0.742-0.094 0.914-0.269 0.172-0.176 0.258-0.475 0.258-0.897v-5.607l-0.17-0.211c-0.168-0.211-0.316-0.35-0.445-0.416-0.129-0.067-0.315-0.104-0.557-0.112v-0.216h2.819z" transform="matrix(1.0756 0 0 1.3376 -22.957 -348.78)"/>
<path id="path826" d="m333.61 881.82v0.216c-0.289 0.047-0.547 0.202-0.773 0.463-0.164 0.196-0.408 0.655-0.733 1.377l-2.736 6.071h-0.193l-2.725-6.317c-0.328-0.762-0.549-1.209-0.662-1.342-0.109-0.132-0.318-0.216-0.627-0.252v-0.216h3.809v0.216h-0.129c-0.344 0-0.578 0.043-0.703 0.129-0.09 0.059-0.135 0.145-0.135 0.258 0 0.07 0.015 0.154 0.047 0.252 0.031 0.094 0.136 0.35 0.316 0.768l1.693 3.955 1.571-3.522c0.187-0.426 0.303-0.711 0.345-0.855 0.043-0.145 0.065-0.268 0.065-0.369 0-0.118-0.031-0.221-0.094-0.311-0.062-0.09-0.154-0.158-0.275-0.205-0.168-0.066-0.391-0.1-0.668-0.1v-0.216h2.607z" transform="matrix(1.0747 .054651 -.043945 1.3365 15.894 -366.74)"/>
<path id="path827" d="m321.03 881.64 0.065 2.648h-0.241c-0.113-0.664-0.392-1.197-0.837-1.599-0.442-0.406-0.92-0.61-1.436-0.61-0.398 0-0.715 0.108-0.949 0.323-0.231 0.211-0.346 0.455-0.346 0.732 0 0.176 0.041 0.332 0.123 0.469 0.113 0.183 0.295 0.365 0.545 0.545 0.184 0.129 0.607 0.357 1.271 0.685 0.93 0.457 1.557 0.889 1.881 1.295 0.321 0.407 0.481 0.871 0.481 1.395 0 0.664-0.26 1.236-0.779 1.717-0.516 0.476-1.172 0.714-1.969 0.714-0.25 0-0.487-0.025-0.709-0.076-0.223-0.051-0.502-0.146-0.838-0.287-0.188-0.078-0.342-0.117-0.463-0.117-0.102 0-0.209 0.039-0.322 0.117-0.114 0.078-0.205 0.197-0.276 0.358h-0.216v-3h0.216c0.172 0.843 0.502 1.488 0.991 1.933 0.492 0.442 1.021 0.662 1.587 0.662 0.438 0 0.786-0.119 1.043-0.357 0.262-0.238 0.393-0.516 0.393-0.832 0-0.188-0.051-0.369-0.152-0.545-0.098-0.176-0.248-0.342-0.451-0.498-0.204-0.16-0.563-0.367-1.079-0.621-0.722-0.356-1.242-0.658-1.558-0.908-0.317-0.25-0.561-0.53-0.733-0.838-0.168-0.309-0.252-0.649-0.252-1.02 0-0.633 0.233-1.172 0.698-1.617s1.05-0.668 1.757-0.668c0.258 0 0.508 0.031 0.75 0.094 0.184 0.047 0.407 0.135 0.668 0.263 0.266 0.125 0.452 0.188 0.557 0.188 0.102 0 0.182-0.031 0.24-0.094 0.059-0.062 0.114-0.213 0.164-0.451h0.176z" transform="matrix(1.0737 .079582 -.063992 1.3353 32.323 -374.09)"/>
<path id="path828" d="m315.27 881.82v0.216c-0.289 0.047-0.546 0.202-0.773 0.463-0.164 0.196-0.408 0.655-0.732 1.377l-2.737 6.071h-0.193l-2.725-6.317c-0.328-0.762-0.549-1.209-0.662-1.342-0.109-0.132-0.318-0.216-0.627-0.252v-0.216h3.809v0.216h-0.129c-0.344 0-0.578 0.043-0.703 0.129-0.09 0.059-0.135 0.145-0.135 0.258 0 0.07 0.016 0.154 0.047 0.252 0.031 0.094 0.137 0.35 0.316 0.768l1.694 3.955 1.57-3.522c0.187-0.426 0.303-0.711 0.346-0.855 0.043-0.145 0.064-0.268 0.064-0.369 0-0.118-0.031-0.221-0.094-0.311-0.062-0.09-0.154-0.158-0.275-0.205-0.168-0.066-0.391-0.1-0.668-0.1v-0.216h2.607z" transform="matrix(1.0684 .15492 -.12457 1.3286 87.767 -392.06)"/>
<path id="path829" d="m306.3 881.82v2.15h-0.211c-0.125-0.496-0.264-0.852-0.416-1.066-0.152-0.219-0.361-0.393-0.627-0.522-0.148-0.07-0.408-0.105-0.779-0.105h-0.592v6.129c0 0.406 0.021 0.66 0.064 0.761 0.047 0.102 0.135 0.192 0.264 0.27 0.133 0.074 0.312 0.111 0.539 0.111h0.264v0.217h-4.16v-0.217h0.263c0.231 0 0.416-0.041 0.557-0.123 0.101-0.055 0.182-0.148 0.24-0.281 0.043-0.094 0.065-0.34 0.065-0.738v-6.129h-0.575c-0.535 0-0.923 0.113-1.166 0.34-0.34 0.316-0.554 0.767-0.644 1.353h-0.223v-2.15h7.137z" transform="matrix(1.0645 .19192 -.15432 1.3238 115.07 -398.65)"/>
<path id="path832" d="m289.79 889.55v0.217h-4.154v-0.217h0.264c0.23 0 0.416-0.041 0.556-0.123 0.102-0.055 0.18-0.148 0.235-0.281 0.042-0.094 0.064-0.34 0.064-0.738v-5.227c0-0.406-0.022-0.66-0.064-0.762-0.043-0.101-0.131-0.189-0.264-0.263-0.129-0.079-0.305-0.118-0.527-0.118h-0.264v-0.216h4.154v0.216h-0.264c-0.23 0-0.416 0.041-0.556 0.123-0.102 0.055-0.182 0.149-0.24 0.282-0.043 0.093-0.065 0.34-0.065 0.738v5.227c0 0.406 0.022 0.66 0.065 0.761 0.046 0.102 0.134 0.192 0.263 0.27 0.133 0.074 0.311 0.111 0.533 0.111h0.264z" transform="matrix(1.0454 .31493 -.25324 1.3 207.07 -413.52)"/>
<path id="path833" d="m285.27 881.82v0.216c-0.29 0.047-0.547 0.202-0.774 0.463-0.164 0.196-0.408 0.655-0.732 1.377l-2.737 6.071h-0.193l-2.725-6.317c-0.328-0.762-0.548-1.209-0.662-1.342-0.109-0.132-0.318-0.216-0.627-0.252v-0.216h3.809v0.216h-0.129c-0.344 0-0.578 0.043-0.703 0.129-0.09 0.059-0.135 0.145-0.135 0.258 0 0.07 0.016 0.154 0.047 0.252 0.031 0.094 0.137 0.35 0.316 0.768l1.694 3.955 1.57-3.522c0.188-0.426 0.303-0.711 0.346-0.855 0.043-0.145 0.064-0.268 0.064-0.369 0-0.118-0.031-0.221-0.094-0.311-0.062-0.09-0.154-0.158-0.275-0.205-0.168-0.066-0.391-0.1-0.668-0.1v-0.216h2.608z" transform="matrix(1.0402 .34045 -.27376 1.2936 226.33 -414.79)"/>
<path id="path836" d="m409.38 881.71c1.265-0.047 2.293 0.323 3.082 1.108 0.793 0.785 1.189 1.767 1.189 2.947 0 1.008-0.295 1.895-0.884 2.66-0.782 1.016-1.885 1.524-3.311 1.524-1.43 0-2.535-0.485-3.316-1.454-0.618-0.765-0.926-1.673-0.926-2.724 0-1.18 0.4-2.162 1.201-2.947 0.805-0.789 1.793-1.161 2.965-1.114zm0.07 0.375c-0.726 0-1.279 0.371-1.658 1.114-0.309 0.609-0.463 1.484-0.463 2.625 0 1.355 0.238 2.357 0.715 3.005 0.332 0.454 0.797 0.68 1.394 0.68 0.403 0 0.739-0.098 1.008-0.293 0.344-0.25 0.612-0.648 0.803-1.195 0.191-0.551 0.287-1.268 0.287-2.151 0-1.05-0.098-1.835-0.293-2.355-0.195-0.523-0.445-0.893-0.75-1.107-0.301-0.215-0.648-0.323-1.043-0.323z" transform="matrix(1.0667 -.17210 .13839 1.3265 -141.19 -275.24)"/>
<path id="path839" d="m378.71 881.71c1.266-0.047 2.293 0.323 3.082 1.108 0.793 0.785 1.189 1.767 1.189 2.947 0 1.008-0.294 1.895-0.884 2.66-0.782 1.016-1.885 1.524-3.311 1.524-1.43 0-2.535-0.485-3.316-1.454-0.617-0.765-0.926-1.673-0.926-2.724 0-1.18 0.4-2.162 1.201-2.947 0.805-0.789 1.793-1.161 2.965-1.114zm0.07 0.375c-0.726 0-1.279 0.371-1.658 1.114-0.308 0.609-0.463 1.484-0.463 2.625 0 1.355 0.239 2.357 0.715 3.005 0.332 0.454 0.797 0.68 1.395 0.68 0.402 0 0.738-0.098 1.007-0.293 0.344-0.25 0.612-0.648 0.803-1.195 0.192-0.551 0.287-1.268 0.287-2.151 0-1.05-0.097-1.835-0.293-2.355-0.195-0.523-0.445-0.893-0.75-1.107-0.3-0.215-0.648-0.323-1.043-0.323z" transform="matrix(1.0721 -.10760 .086523 1.3333 -97.42 -305.95)"/>
<path id="path842" d="m386.6 886.15v2.226c0 0.43 0.025 0.702 0.076 0.815 0.055 0.109 0.148 0.197 0.281 0.264 0.133 0.066 0.381 0.099 0.744 0.099v0.217h-4.066v-0.217c0.367 0 0.615-0.033 0.744-0.099 0.133-0.071 0.225-0.161 0.275-0.27 0.055-0.109 0.082-0.379 0.082-0.809v-5.156c0-0.43-0.027-0.699-0.082-0.808-0.05-0.114-0.142-0.204-0.275-0.27s-0.381-0.1-0.744-0.1v-0.216h3.691c0.961 0 1.664 0.066 2.11 0.199 0.445 0.133 0.808 0.379 1.09 0.738 0.281 0.356 0.421 0.774 0.421 1.254 0 0.586-0.211 1.07-0.632 1.453-0.27 0.242-0.647 0.424-1.131 0.545l1.91 2.69c0.25 0.347 0.428 0.564 0.533 0.65 0.16 0.121 0.346 0.187 0.557 0.199v0.217h-2.502l-2.561-3.621h-0.521zm0-3.897v3.481h0.334c0.543 0 0.949-0.049 1.218-0.147 0.27-0.101 0.481-0.281 0.633-0.539 0.157-0.261 0.235-0.601 0.235-1.019 0-0.606-0.143-1.053-0.428-1.342-0.281-0.289-0.736-0.434-1.365-0.434h-0.627z" transform="matrix(1.0667 -.17210 .13839 1.3265 -141.19 -275.24)"/>
<path id="path845" d="m417.27 886.15v2.226c0 0.43 0.025 0.702 0.076 0.815 0.054 0.109 0.148 0.197 0.281 0.264 0.133 0.066 0.381 0.099 0.744 0.099v0.217h-4.066v-0.217c0.367 0 0.615-0.033 0.744-0.099 0.133-0.071 0.224-0.161 0.275-0.27 0.055-0.109 0.082-0.379 0.082-0.809v-5.156c0-0.43-0.027-0.699-0.082-0.808-0.051-0.114-0.142-0.204-0.275-0.27s-0.381-0.1-0.744-0.1v-0.216h3.691c0.961 0 1.664 0.066 2.109 0.199 0.446 0.133 0.809 0.379 1.09 0.738 0.282 0.356 0.422 0.774 0.422 1.254 0 0.586-0.211 1.07-0.633 1.453-0.269 0.242-0.646 0.424-1.13 0.545l1.91 2.69c0.25 0.347 0.427 0.564 0.533 0.65 0.16 0.121 0.346 0.187 0.557 0.199v0.217h-2.502l-2.561-3.621h-0.521zm0-3.897v3.481h0.334c0.543 0 0.949-0.049 1.218-0.147 0.27-0.101 0.481-0.281 0.633-0.539 0.156-0.261 0.234-0.601 0.234-1.019 0-0.606-0.142-1.053-0.427-1.342-0.282-0.289-0.737-0.434-1.365-0.434h-0.627z" transform="matrix(1.0417 -.33296 .26773 1.2955 -245.66 -181.16)"/>
<path id="path848" d="m293.25 886.15v2.226c0 0.43 0.025 0.702 0.076 0.815 0.055 0.109 0.149 0.197 0.281 0.264 0.133 0.066 0.381 0.099 0.745 0.099v0.217h-4.067v-0.217c0.367 0 0.615-0.033 0.744-0.099 0.133-0.071 0.225-0.161 0.276-0.27 0.054-0.109 0.082-0.379 0.082-0.809v-5.156c0-0.43-0.028-0.699-0.082-0.808-0.051-0.114-0.143-0.204-0.276-0.27-0.132-0.066-0.381-0.1-0.744-0.1v-0.216h3.692c0.961 0 1.664 0.066 2.109 0.199s0.809 0.379 1.09 0.738c0.281 0.356 0.422 0.774 0.422 1.254 0 0.586-0.211 1.07-0.633 1.453-0.27 0.242-0.647 0.424-1.131 0.545l1.91 2.69c0.25 0.347 0.428 0.564 0.533 0.65 0.161 0.121 0.346 0.187 0.557 0.199v0.217h-2.502l-2.56-3.621h-0.522zm0-3.897v3.481h0.334c0.543 0 0.949-0.049 1.219-0.147 0.269-0.101 0.48-0.281 0.633-0.539 0.156-0.261 0.234-0.601 0.234-1.019 0-0.606-0.143-1.053-0.428-1.342-0.281-0.289-0.736-0.434-1.365-0.434h-0.627z" transform="matrix(1.0633 .20168 -.16217 1.3223 122.81 -400.27)"/>
<path id="path851" d="m360.07 887.51h-2.806l-0.334 0.774c-0.11 0.257-0.164 0.47-0.164 0.638 0 0.223 0.089 0.387 0.269 0.493 0.106 0.062 0.365 0.109 0.779 0.14v0.217h-2.642v-0.217c0.285-0.043 0.519-0.16 0.703-0.351 0.184-0.196 0.41-0.596 0.68-1.202l2.842-6.339h0.111l2.865 6.515c0.274 0.617 0.498 1.006 0.674 1.166 0.133 0.121 0.32 0.192 0.562 0.211v0.217h-3.843v-0.217h0.158c0.308 0 0.525-0.043 0.65-0.129 0.086-0.062 0.129-0.152 0.129-0.269 0-0.071-0.012-0.143-0.035-0.217-0.008-0.035-0.066-0.182-0.176-0.44l-0.422-0.99zm-0.199-0.433-1.183-2.737-1.219 2.737h2.402z" transform="matrix(1.0746 -.056381 .045336 1.3364 -62.366 -327.47)"/>
</g>
<g id="g658" fill-rule="evenodd" transform="matrix(.38925 0 0 .37394 196.25 536.23)">
<rect id="rect584" height="177.17" width="177.17" y="556.3" x="407.48" fill="#fff600"/>
<rect id="rect565" height="177.17" width="25.309" y="379.13" x="432.79" fill="#cc1900"/>
<rect id="rect566" height="177.17" width="25.309" y="379.13" x="483.41" fill="#cc1900"/>
<rect id="rect567" height="177.17" width="25.309" y="379.13" x="534.03" fill="#cc1900"/>
<rect id="rect570" height="177.17" width="25.309" y="379.13" x="407.48" fill="#fff600"/>
<rect id="rect571" height="177.17" width="25.309" y="379.13" x="458.1" fill="#fff600"/>
<rect id="rect572" height="177.17" width="25.309" y="379.13" x="508.72" fill="#fff600"/>
<rect id="rect573" height="177.17" width="25.309" y="379.13" x="559.34" fill="#fff600"/>
<rect id="rect574" height="159.45" width="19.685" y="574.02" x="271.65" fill="#cc1900"/>
<rect id="rect575" height="159.45" width="19.685" y="574.02" x="311.02" fill="#cc1900"/>
<rect id="rect576" height="159.45" width="19.685" y="574.02" x="350.39" fill="#cc1900"/>
<rect id="rect577" height="159.45" width="19.685" y="574.02" x="251.97" fill="#fff600"/>
<rect id="rect578" height="159.45" width="19.685" y="574.02" x="291.34" fill="#fff600"/>
<rect id="rect579" height="159.45" width="19.685" y="574.02" x="330.71" fill="#fff600"/>
<rect id="rect580" height="159.45" width="19.685" y="574.02" x="370.08" fill="#fff600"/>
<rect id="rect581" height="159.45" width="19.685" y="574.02" x="232.28" fill="#cc1900"/>
<rect id="rect582" height="159.45" width="19.685" y="574.02" x="212.6" fill="#fff600"/>
<rect id="rect583" height="177.17" width="177.17" y="379.13" x="212.6" fill="#cc1900"/>
<path id="path597" d="m274.92 206.71c8.913-4.302 8.549-19.089 8.549-31.313 0-24.449-19.843-44.292-44.292-44.292s-44.291 17.488-44.291 41.937l-17.717 11.213h26.52l-26.52 17.717h35.433l-248.03 318.9 17.717 17.717 248.03-318.9c6.549-8.42 0-17.716-9.158-24.793-10.805-8.349-8.559-10.64-8.559-21.579 0-15.936 11.906-24.494 26.575-24.494s26.575 11.905 26.575 26.575c0 7.335-1.502 16.184-7.787 18.788-9.93 7.787 7.787 25.503 16.955 12.525z" transform="matrix(.38555 .050804 -.045440 .34484 277.44 345.95)" stroke-width="1pt" fill="#fff600"/>
<path id="path564" d="m194.88 361.42v336.61c0 35.434 16.978 53.15 50.934 53.15h118.85c33.957 0 33.957 35.433 33.957 35.433s0-35.433 33.956-35.433h118.85c33.957 0 50.935-17.716 50.935-53.15v-336.61h-407.48zm17.716 17.717v177.16h177.17v-177.16h-177.17zm194.88 0v177.16h177.17v-177.16h-177.17zm-194.88 194.88v106.3c0 35.434 16.978 53.15 50.934 53.15h73.081 53.15v-159.45h-177.16zm372.05 0v106.3c0 35.434-16.977 53.15-50.934 53.15h-73.081-53.15v-159.45h177.16z" stroke="#000" stroke-width="1pt" fill="#cba323"/>
<path id="path585" d="m283.46 396.85-53.149 50.619 16.354 91.114h73.591l16.354-91.114-53.15-50.619z" transform="matrix(.66667 0 0 0.75 112.2 99.215)" fill="#fff"/>
<path id="path586" d="m283.46 406.97-44.291 40.495 17.717 80.99h26.574v-121.48zm8.859 0v121.48h26.575l17.716-80.99-44.291-40.495z" transform="matrix(.61539 0 0 0.7 124.02 126.14)" fill="#fff600"/>
<path id="path587" d="m212.6 201.97h-17.716s8.858 35.433 17.716 35.433c35.433 0 106.48-51.679 106.3-35.433 0 35.433-17.717 17.716-17.717 35.433 0 17.716 35.433 0 35.433-17.717 0-17.716 0-35.433-17.716-35.433-17.717 0-69.229 35.671-88.583 35.433-17.717 0-17.717-17.716-17.717-17.716z" transform="matrix(.5 0 0 .41421 203.74 419.49)" fill="#fffbff"/>
<path id="path588" d="m212.6 201.97h-17.716s8.858 35.433 17.716 35.433c35.433 0 106.48-51.679 106.3-35.433 0 35.433-17.717 17.716-17.717 35.433 0 17.716 35.433 0 35.433-17.717 0-17.716 0-35.433-17.716-35.433-17.717 0-69.229 35.671-88.583 35.433-17.717 0-17.717-17.716-17.717-17.716z" transform="matrix(-0.5 0 0 .41421 398.62 419.49)" fill="#fffbff"/>
<g id="g657" transform="matrix(.38048 0 0 .32170 515.51 448.82)">
<g id="g616" transform="translate(-2.5058 -84.936)">
<path id="path612" d="m70.866 574.02c0 35.433 28.704 36.668 17.717 53.149l-35.433 53.15h-17.716l17.716-53.15c5.9055-17.716 17.716-65.373 17.716-53.149z" transform="matrix(.97779 .20961 -.20961 .97779 72.52 -.075867)" stroke="#fff600" stroke-width="5" fill="#cc1900"/>
<path id="path607" d="m35.433 423.42c0 3.667 2.2422 31.888 0 35.067-2.2423 3.179-8.969-18.684-12.977-16.279-4.0083 2.405-7.6033 24.158-12.902 25.504-5.2983 1.35-12.3-17.71-18.412-17.71-6.1122 0-11.937 19.062-17.235 17.717-5.2984-1.346-10.071-23.099-14.079-25.504-4.0084-2.405-10.735 19.458-12.977 16.279-2.2422-3.179 0-31.4 0-35.067 0-14.669 19.842-26.575 44.291-26.575s44.291 11.906 44.291 26.575z" transform="matrix(.78240 0 0 .50048 24.647 401.29)" stroke="#fff600" stroke-width="7.9903" fill="#cc1900"/>
<path id="path605" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.71447 -.39551 .69966 .40388 -390.91 291.35)" stroke-width="1pt" fill="#008d00"/>
<path id="path602" d="m-70.866 414.57v53.15h53.15v-17.717h-35.433v-35.433h-17.716z" transform="matrix(.53461 .84510 -.84510 .53461 273.7 427.53)" stroke="#fff600" stroke-width="5" fill="#cc1900"/>
<path id="path599" d="m70.866 574.02c0 35.433 28.704 36.668 17.717 53.149l-35.433 53.15h-17.716l17.716-53.15c5.9055-17.716-17.716-35.433-70.866 0-12.224 0-70.866-8.963-70.866 0v53.15h-17.716v-53.15c0-6.941-35.433-53.149-35.433-70.866 0-12.224-53.15 0-53.15-17.716 0-8.859 35.433-17.717 35.433-35.433 0-17.717 35.433 0 53.15 0 0 17.716-17.717 35.433 17.716 35.433 24.449 0 177.17 0 177.17 17.716 0 17.717-17.717 5.493-17.717 17.717z" stroke="#fff600" stroke-width="5" fill="#cc1900"/>
<path id="path608" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.33850 -.70209 .65562 -.0045585 -354.02 632.49)" stroke-width="1pt" fill="#008d00"/>
<path id="path609" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.33850 -.70209 .65562 -.0045585 -212.29 632.49)" stroke-width="1pt" fill="#008d00"/>
<path id="path610" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(-.13112 -.76832 .53161 -.38374 -357.18 763.6)" stroke-width="1pt" fill="#008d00"/>
<path id="path613" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.31961 -.71089 .65527 -.022084 -282.41 624.63)" stroke-width="1pt" fill="#008d00"/>
<rect id="rect614" transform="rotate(-37.469)" height="17.717" width="53.15" y="354.1" x="-458.49" fill="#008d00"/>
<path id="path615" d="m-17.717 503.15c0 39.138-11.898 70.866-26.575 70.866s-26.575-31.728-26.575-70.866 11.898-70.866 26.575-70.866 26.575 31.728 26.575 70.866z" transform="matrix(.20249 0 0 .125 -127.38 519.98)" fill="#008d00"/>
</g>
<path id="path629" d="m47.995 681.85c34.086 0.02 34.086 12.901 19.835 12.901-19.835 0-67.83 4.38-67.83 3.28 0-1.103-16.484-14.203-16.484-14.203-1.2325-3.513 1.1774 14.128-1.2325 14.203-2.41 0.074-16.429-15.381-16.429-15.381s1.2877 15.232 0 15.307c-1.2877 0.074-17.661-9.42-17.661-9.42l-1.1774 8.242-15.306 9.42 15.306 10.597v8.242l15.306-8.242 1.1775 15.306 18.839-15.306s4.7648 16.299 2.3549 16.484c-2.41 0.185 16.484-16.484 16.484-16.484-1.178-1.05 54.051 0 87.405-1.05 33.354-1.048 32.746-51.937 17.716-53.15-15.031-1.213-58.304 3.33-58.304-0.203" transform="matrix(.51976 0 0 .74720 25.698 -30.033)" stroke="#fff600" stroke-width="5.0546" fill="#cc1900"/>
</g>
<g id="g671" transform="matrix(.38048 0 0 .32170 515.51 519.69)">
<g id="g672" transform="translate(-2.5058 -84.936)">
<path id="path673" d="m70.866 574.02c0 35.433 28.704 36.668 17.717 53.149l-35.433 53.15h-17.716l17.716-53.15c5.9055-17.716 17.716-65.373 17.716-53.149z" transform="matrix(.97779 .20961 -.20961 .97779 72.52 -.075867)" stroke="#fff600" stroke-width="5" fill="#cc1900"/>
<path id="path674" d="m35.433 423.42c0 3.667 2.2422 31.888 0 35.067-2.2423 3.179-8.969-18.684-12.977-16.279-4.0083 2.405-7.6033 24.158-12.902 25.504-5.2983 1.35-12.3-17.71-18.412-17.71-6.1122 0-11.937 19.062-17.235 17.717-5.2984-1.346-10.071-23.099-14.079-25.504-4.0084-2.405-10.735 19.458-12.977 16.279-2.2422-3.179 0-31.4 0-35.067 0-14.669 19.842-26.575 44.291-26.575s44.291 11.906 44.291 26.575z" transform="matrix(.78240 0 0 .50048 24.647 401.29)" stroke="#fff600" stroke-width="7.9903" fill="#cc1900"/>
<path id="path675" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.71447 -.39551 .69966 .40388 -390.91 291.35)" stroke-width="1pt" fill="#008d00"/>
<path id="path676" d="m-70.866 414.57v53.15h53.15v-17.717h-35.433v-35.433h-17.716z" transform="matrix(.53461 .84510 -.84510 .53461 273.7 427.53)" stroke="#fff600" stroke-width="5" fill="#cc1900"/>
<path id="path677" d="m70.866 574.02c0 35.433 28.704 36.668 17.717 53.149l-35.433 53.15h-17.716l17.716-53.15c5.9055-17.716-17.716-35.433-70.866 0-12.224 0-70.866-8.963-70.866 0v53.15h-17.716v-53.15c0-6.941-35.433-53.149-35.433-70.866 0-12.224-53.15 0-53.15-17.716 0-8.859 35.433-17.717 35.433-35.433 0-17.717 35.433 0 53.15 0 0 17.716-17.717 35.433 17.716 35.433 24.449 0 177.17 0 177.17 17.716 0 17.717-17.717 5.493-17.717 17.717z" stroke="#fff600" stroke-width="5" fill="#cc1900"/>
<path id="path678" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.33850 -.70209 .65562 -.0045585 -354.02 632.49)" stroke-width="1pt" fill="#008d00"/>
<path id="path679" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.33850 -.70209 .65562 -.0045585 -212.29 632.49)" stroke-width="1pt" fill="#008d00"/>
<path id="path680" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(-.13112 -.76832 .53161 -.38374 -357.18 763.6)" stroke-width="1pt" fill="#008d00"/>
<path id="path681" d="m-70.866 423.42c0 14.669-12.827 26.575-17.717 26.575-4.8898 0 0-11.906 0-26.575s-4.8898-26.575 0-26.575 17.717 11.906 17.717 26.575z" transform="matrix(.31961 -.71089 .65527 -.022084 -282.41 624.63)" stroke-width="1pt" fill="#008d00"/>
<rect id="rect682" transform="rotate(-37.469)" height="17.717" width="53.15" y="354.1" x="-458.49" fill="#008d00"/>
<path id="path683" d="m-17.717 503.15c0 39.138-11.898 70.866-26.575 70.866s-26.575-31.728-26.575-70.866 11.898-70.866 26.575-70.866 26.575 31.728 26.575 70.866z" transform="matrix(.20249 0 0 .125 -127.38 519.98)" fill="#008d00"/>
</g>
<path id="path684" d="m47.995 681.85c34.086 0.02 34.086 12.901 19.835 12.901-19.835 0-67.83 4.38-67.83 3.28 0-1.103-16.484-14.203-16.484-14.203-1.2325-3.513 1.1774 14.128-1.2325 14.203-2.41 0.074-16.429-15.381-16.429-15.381s1.2877 15.232 0 15.307c-1.2877 0.074-17.661-9.42-17.661-9.42l-1.1774 8.242-15.306 9.42 15.306 10.597v8.242l15.306-8.242 1.1775 15.306 18.839-15.306s4.7648 16.299 2.3549 16.484c-2.41 0.185 16.484-16.484 16.484-16.484-1.178-1.05 54.051 0 87.405-1.05 33.354-1.048 32.746-51.937 17.716-53.15-15.031-1.213-58.304 3.33-58.304-0.203" transform="matrix(.51976 0 0 .74720 25.698 -30.033)" stroke="#fff600" stroke-width="5.0546" fill="#cc1900"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 39 KiB

+44
View File
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
<!--
On October 30, 2003, Brett Roper dedicated to the public domain the
work "SVG graphic of Australian Aboriginal Flag." Before making the dedication,
Brett Roper
represented that Brett Roper owned all copyrights in the
work. By making the dedication, Brett Roper made an overt act
of relinquishment in perpetuity of all present and future rights under
copyright law, whether vested or contingent, in "SVG graphic of United Arab
Emirates Flag."
Brett Roper understands that such relinquishment of all rights
includes the relinquishment of all rights to enforce (by lawsuit or
otherwise) those copyrights in the Work.
Brett Roper recognizes that, once placed in the public domain,
"SVG graphic of United Arab Emirates Flag" may be freely reproduced,
distributed, transmitted, used,
modified, built upon, or otherwise exploited by anyone for any
purpose, commercial or non-commercial, and in any way, including by
methods that have not yet been invented or conceived.
-->
<svg id="canada" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="480" width="640" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" fill="#28ff09">
<metadata id="metadata3112">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs3">
<clipPath id="clipPath4599" clipPathUnits="userSpaceOnUse">
<rect id="rect4601" height="512" width="512" y="0" x="0" fill="#808080"/>
</clipPath>
</defs>
<g id="flag" clip-path="url(#clipPath4599)" fill-rule="evenodd" transform="matrix(1.3333 0 0 1 -85.333 .000015259)">
<rect id="rect9" height="512" width="192" y="-.000015259" x="0" fill="#f00"/>
<rect id="rect12" height="171.94" width="576" y="340.06" x="192" fill="#000"/>
<rect id="rect11" height="169.65" width="576" y="172.7" x="192" fill="#fff"/>
<rect id="rect10" height="172.7" width="576" y="-.000015259" x="192" fill="#009a00"/>
</g>
</svg>
+779
View File
@@ -0,0 +1,779 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
<rdf:RDF xmlns="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<dc:title>SVG graphic of Afghanistan's Flag</dc:title>
<dc:rights><Agent>
<dc:title>Andrew Duhan</dc:title>
</Agent></dc:rights>
<license rdf:resource="http://web.resource.org/cc/PublicDomain" />
</Work>
<License rdf:about="http://web.resource.org/cc/PublicDomain">
<permits rdf:resource="http://web.resource.org/cc/Reproduction" />
<permits rdf:resource="http://web.resource.org/cc/Distribution" />
<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
</License>
</rdf:RDF>
-->
<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
<svg id="svg587" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="480" width="640" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata id="metadata3783">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<g id="flag">
<g id="g6349" fill-rule="evenodd" stroke-width="1pt" transform="matrix(1.3333 0 0 1 -85.333 0)">
<rect id="rect590" height="512" width="512" y="5.6843e-14" x="0"/>
<rect id="rect591" height="512" width="170.67" y="5.6843e-14" x="341.33" fill="#090"/>
<rect id="rect592" height="512" width="170.67" y="5.6843e-14" x="170.67" fill="#bf0000"/>
</g>
<g id="g4603" transform="matrix(1.9463 0 0 1.9463 -350 -430.25)">
<path id="path1035" d="m384.5 357.31c-0.056 0.297 0.747 0.736 0.938 0.508 0.864-1.035 1.995-3.067 2.227-4.297 0.068-0.358-1.083-0.763-1.329-0.469-0.809 0.969-1.593 2.966-1.836 4.258z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1037" d="m276.43 420.33c-0.86048 3.0401-13.554-2.8657-14.971-5.9253 7.2632 3.8485 15.145 3.0436 14.971 5.9253z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1042" d="m236.3 358.23c0.63456 0.75517 1.7042 0.24913 0.72951-0.77292-0.79772-0.82583-0.53515-1.0864-1.0213-2.0926-0.48071-1.1242-0.45566-1.7445-1.0359-2.5477-0.51311-0.76202-1.2849 0.0154-0.76788 0.65672 0.64906 0.75844 0.46988 1.3178 0.86685 2.0515 0.7335 1.2556 0.55465 1.9148 1.2287 2.705z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1051" d="m253.37 378.84c2.042 1.004 3.592 3.512 3.694 5.555 0.173 2.351 0.512 4.336 1.568 6.007-1.681-0.468-2.486-3.147-2.725-5.713-0.242-2.656-1.673-3.808-2.537-5.849z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1052" d="m257.63 383.76c1.413 2.6083 3.389 3.6031 3.49 5.5387 0.17118 2.2274 0.34039 2.3411 0.94398 4.5316-1.6634-0.4434-2.0819-0.58836-2.5312-3.9214-0.27706-2.3421-2.1522-3.9944-1.9028-6.1489z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1070" stroke-linejoin="round" d="m290.64 397.78c2.162 1.771 3.565 3.793 4.219 6.406 0.682 2.434 1.641 4.375 3.048 6.563-2.292-1.563-3.733-3.689-4.454-6.251-0.633-2.518-1.38-4.4-2.813-6.718z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1072" stroke-linejoin="round" d="m331.11 397.78c-2.21 1.7814-3.6441 3.8153-4.3126 6.4437-0.69713 2.4483-1.6774 4.4007-3.1156 6.6016 2.3428-1.5722 3.8158-3.7107 4.5528-6.2878 0.64704-2.5328 1.4106-4.4259 2.8754-6.7575z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1073" stroke-linejoin="round" d="m328.39 397.78c-2.3694 1.8609-4.6029 3.9732-5.2714 6.6016-0.69713 2.4483-1.1183 4.3223-2.7159 6.7585 2.5023-1.5722 3.4959-3.9471 4.2329-6.5242 0.64704-2.5318 2.1302-4.4249 3.7545-6.836z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1075" stroke-linejoin="round" d="m301.61 407.89c0.794 1.497 1.706 3.776 3.359 3.359 0.026-1.146-1.784-1.94-3.359-3.359z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1076" stroke-linejoin="round" d="m304.08 408.4c3.2104 1.316 5.9828 0.991 6.3282 3.009-3.0118 0.325-4.1132-0.912-6.3282-3.009z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1077" stroke-linejoin="round" d="m319.82 408.09c-0.80485 1.4112-1.7293 3.5597-3.4049 3.1666-0.0264-1.0803 1.8084-1.8288 3.4049-3.1666z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1078" stroke-linejoin="round" d="m317.57 408.52c-3.2572 1.2488-6.0699 0.9404-6.4204 2.8554 3.0556 0.30841 4.1731-0.86543 6.4204-2.8554z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1082" d="m320.54 403.95c0.0637-0.457-0.24784-0.856-0.62208-0.976-0.72858-0.274-1.4542-0.497-2.1768-0.703-0.82114-0.195-1.281 0.394-1.284 0.781-0.004 0.644-0.0338 1.191 0 1.679 0.0448 0.608 0.16025 0.653 0.54444 0.743 0.61511 0.104 1.4034 0.21 2.0215 0.625 0.4897 0.302 0.96049 0.063 1.2053-0.468 0.15826-0.406 0.24485-1.2 0.31154-1.681z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1083" d="m311.69 403.95c-0.0569-0.457 0.18318-0.895 0.51752-1.015 0.65091-0.274 1.2991-0.341 1.983-0.313 0.75938-0.012 0.95056 0.16 0.95323 0.547 0.004 0.644 0.0302 1.269 0 1.757-0.04 0.608-0.0267 0.653-0.36991 0.743-0.54953 0.104-1.4868 0.132-2.039 0.547-0.4375 0.302-0.93634 0.063-0.96035-0.507 0.0107-0.43-0.0249-1.278-0.0845-1.759z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path1084" d="m300.95 403.83c-0.064-0.457 0.249-0.856 0.625-0.976 0.732-0.274 1.461-0.497 2.187-0.703 0.825-0.195 1.287 0.394 1.29 0.781 0.004 0.644 0.034 1.191 0 1.679-0.045 0.608-0.161 0.653-0.547 0.743-0.618 0.104-1.41 0.21-2.031 0.625-0.492 0.302-0.965 0.063-1.211-0.468-0.159-0.406-0.246-1.2-0.313-1.681z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1085" d="m309.84 403.83c0.0572-0.457-0.18404-0.895-0.51995-1.015-0.65396-0.274-1.3052-0.341-1.9922-0.313-0.76295-0.012-0.95503 0.16-0.95771 0.547-0.004 0.644-0.0304 1.269 0 1.757 0.0402 0.608 0.0268 0.653 0.37165 0.743 0.55211 0.104 1.4937 0.132 2.0485 0.547 0.43955 0.302 0.94074 0.063 0.96486-0.507-0.0107-0.43 0.025-1.278 0.0849-1.759z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<g id="g1194" transform="translate(.33148 198.84)">
<path id="path1188" d="m274.79 144.77c-1.033-1.659-2.27 2.301-6.519 5.249-1.978 1.346-3.356 4.933-3.369 7.293-0.065 1.621 0.18 3.238-0.001 4.806-0.114 0.992-1.148 3.194-0.441 3.757 1.87 1.39 4.291 4.546 5.414 5.635 0.971 0.851 1.812-4.393 2.541-6.74 0.781-2.515 0.431-5.521 2.597-7.845 1.535-1.569 5.407-3.113 4.972-3.812l-5.194-8.343z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1145" d="m274.79 144.77c-1.033-1.659-2.27 2.301-6.519 5.249-1.978 1.346-3.356 4.933-3.369 7.293-0.065 1.621 0.18 3.238-0.001 4.806-0.114 0.992-1.148 3.194-0.441 3.757 1.87 1.39 4.291 4.546 5.414 5.635 0.971 0.851 1.812-4.393 2.541-6.74 0.781-2.515 0.431-5.521 2.597-7.845 1.535-1.569 5.407-3.113 4.972-3.812l-5.194-8.343z" fill-rule="evenodd" fill="#fff"/>
<path id="path1146" d="m268.51 149.68c-0.405 2.809 1.159 3.744 2.635 4.288 1.528 0.543 2.781 2.182 3.426 3.665" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1147" d="m267.27 151.14c0.645 2.422 2.342 2.119 3.818 2.663 1.528 0.543 3.135 2.475 3.78 3.958" transform="translate(-2.5413 7.7896)" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1143" d="m273.36 143.06 0.774-0.497 14.86 25.027-0.773 0.497-14.861-25.027z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1193" d="m273.36 143.06 0.774-0.497 14.86 25.027-0.773 0.497-14.861-25.027z" fill-rule="evenodd" fill="#fff"/>
<path id="path1159" d="m274.96 142.07c0 0.94585-0.76676 1.7126-1.7126 1.7126-0.94585 0-1.7126-0.76676-1.7126-1.7126s0.76676-1.7126 1.7126-1.7126c0.94586 0 1.7126 0.76676 1.7126 1.7126z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1186" d="m274.96 142.07c0 0.94585-0.76676 1.7126-1.7126 1.7126-0.94585 0-1.7126-0.76676-1.7126-1.7126s0.76676-1.7126 1.7126-1.7126c0.94586 0 1.7126 0.76676 1.7126 1.7126z" fill-rule="evenodd" fill="#fff"/>
</g>
<g id="g1208" transform="translate(0,199.5)">
<path id="path1203" d="m274.79 144.77c-1.033-1.659-2.27 2.301-6.519 5.249-1.978 1.346-3.356 4.933-3.369 7.293-0.065 1.621 0.18 3.238-0.001 4.806-0.114 0.992-1.148 3.194-0.441 3.757 1.87 1.39 4.291 4.546 5.414 5.635 0.971 0.851 1.812-4.393 2.541-6.74 0.781-2.515 0.431-5.521 2.597-7.845 1.535-1.569 5.407-3.113 4.972-3.812l-5.194-8.343z" fill-rule="evenodd" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke="#000" stroke-width=".49160" fill="#fff"/>
<path id="path1140" d="m274.79 144.77c-1.033-1.659-2.27 2.301-6.519 5.249-1.978 1.346-3.356 4.933-3.369 7.293-0.065 1.621 0.18 3.238-0.001 4.806-0.114 0.992-1.148 3.194-0.441 3.757 1.87 1.39 4.291 4.546 5.414 5.635 0.971 0.851 1.812-4.393 2.541-6.74 0.781-2.515 0.431-5.521 2.597-7.845 1.535-1.569 5.407-3.113 4.972-3.812l-5.194-8.343z" fill-rule="evenodd" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke-width="1pt" fill="#fff"/>
<path id="path1138" d="m273.36 143.06 0.774-0.497 14.86 25.027-0.773 0.497-14.861-25.027z" fill-rule="evenodd" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke="#000" stroke-width=".49160" fill="#fff"/>
<path id="path1141" d="m268.43 149.76c-0.405 2.809 1.237 3.665 2.713 4.209 1.528 0.543 2.859 2.064 3.504 3.547" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1142" d="m267.35 151.26c0.645 2.422 2.264 2.005 3.74 2.549 1.528 0.543 3.135 2.32 3.78 3.803" transform="matrix(-.99948 0 0 1.035 623.97 2.8373)" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1204" d="m273.36 143.06 0.774-0.497 14.86 25.027-0.773 0.497-14.861-25.027z" fill-rule="evenodd" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke-width="1pt" fill="#fff"/>
<path id="path1207" d="m274.96 142.07c0 0.94585-0.76676 1.7126-1.7126 1.7126-0.94585 0-1.7126-0.76676-1.7126-1.7126s0.76676-1.7126 1.7126-1.7126c0.94586 0 1.7126 0.76676 1.7126 1.7126z" fill-rule="evenodd" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke="#000" stroke-width=".49160" fill="#fff"/>
<path id="path1139" d="m274.96 142.07c0 0.94585-0.76676 1.7126-1.7126 1.7126-0.94585 0-1.7126-0.76676-1.7126-1.7126s0.76676-1.7126 1.7126-1.7126c0.94586 0 1.7126 0.76676 1.7126 1.7126z" fill-rule="evenodd" transform="matrix(-.99948 0 0 1.035 621.43 -5.225)" stroke-width="1pt" fill="#fff"/>
</g>
<g id="g1223" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<rect id="rect1094" height="1.3811" width="6.0217" stroke="#000" y="121.3" x="287.99" stroke-width=".5"/>
<rect id="rect1095" height="11.538" width="6.0217" stroke="#000" y="123.91" x="287.99" stroke-width=".5"/>
<path id="path1096" d="m287.63 119.72 6.68 0.039c0.261-2.265-2-4.712-3.32-4.687-1.305 0.063-3.412 2.474-3.36 4.648z" stroke="#000" stroke-width=".5"/>
<rect id="rect1097" height="1.3811" width="6.0217" stroke="#000" y="121.33" x="327.55" stroke-width=".5"/>
<rect id="rect1098" height="11.538" width="6.0217" stroke="#000" y="123.95" x="327.55" stroke-width=".5"/>
<path id="path1099" d="m287.63 119.72 6.68 0.039c0.261-2.265-2-4.712-3.32-4.687-1.305 0.063-3.412 2.474-3.36 4.648z" transform="translate(39.556 .039082)" stroke="#000" stroke-width=".5"/>
<rect id="rect1217" height="1.3811" width="6.0217" y="121.3" x="287.99" stroke-width="1pt"/>
<rect id="rect1218" height="11.538" width="6.0217" y="123.91" x="287.99" stroke-width="1pt"/>
<path id="path1219" d="m287.63 119.72 6.68 0.039c0.261-2.265-2-4.712-3.32-4.687-1.305 0.063-3.412 2.474-3.36 4.648z"/>
<rect id="rect1220" height="1.3811" width="6.0217" y="121.33" x="327.55" stroke-width="1pt"/>
<rect id="rect1221" height="11.538" width="6.0217" y="123.95" x="327.55" stroke-width="1pt"/>
<path id="path1222" d="m287.63 119.72 6.68 0.039c0.261-2.265-2-4.712-3.32-4.687-1.305 0.063-3.412 2.474-3.36 4.648z" transform="translate(39.556 .039082)"/>
</g>
<rect id="rect1236" fill-rule="evenodd" height="11.538" width="6.0217" y="323.45" x="327.55" stroke-width="1pt" fill="#fff"/>
<rect id="rect1237" fill-rule="evenodd" height="1.3811" width="6.0217" y="320.83" x="327.55" stroke-width="1pt" fill="#fff"/>
<path id="path1238" d="m327.19 319.26 6.68 0.039c0.261-2.265-2-4.712-3.32-4.687-1.305 0.063-3.412 2.474-3.36 4.648z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<rect id="rect1239" fill-rule="evenodd" height="11.538" width="6.0217" y="323.41" x="287.99" stroke-width="1pt" fill="#fff"/>
<rect id="rect1240" fill-rule="evenodd" height="1.3811" width="6.0217" y="320.8" x="287.99" stroke-width="1pt" fill="#fff"/>
<path id="path1241" d="m287.63 319.22 6.68 0.039c0.261-2.265-2-4.712-3.32-4.687-1.305 0.063-3.412 2.474-3.36 4.648z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<g id="g1244" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1105" d="m282.98 137.41 3.829 4.219 47.658 0.078 3.907-4.219-12.188-0.156-5.938-4.141-19.142-0.078-5.547 4.297h-12.579z" stroke="#000" stroke-width=".5"/>
<path id="path1243" d="m282.98 137.41 3.829 4.219 47.658 0.078 3.907-4.219-12.188-0.156-5.938-4.141-19.142-0.078-5.547 4.297h-12.579z"/>
</g>
<g id="g1248" transform="translate(0,199.5)">
<path id="path1100" d="m302.49 130.9 16.457-0.017c2.228-1.178 2.923-4.94 2.912-7.045-0.031-6.218-4.38-9.2-8.745-9.359-0.654-0.033-1.413-0.542-1.586-1.138-0.43-1.35-0.319-4.865-0.79-4.817-0.419-0.006-0.296 3.441-0.669 4.707-0.205 0.63-0.913 1.251-1.619 1.287-5.433 0.271-8.937 4.237-8.8 9.32 0.092 3.361 0.483 5.368 2.84 7.062z" stroke="#000" stroke-width=".5" fill="none"/>
<path id="path1247" d="m302.49 130.9 16.457-0.017c2.228-1.178 2.923-4.94 2.912-7.045-0.031-6.218-4.38-9.2-8.745-9.359-0.654-0.033-1.413-0.542-1.586-1.138-0.43-1.35-0.319-4.786-0.79-4.817-0.34 0.033-0.296 3.441-0.669 4.707-0.205 0.63-0.913 1.251-1.619 1.287-5.433 0.271-8.937 4.237-8.8 9.32 0.092 3.361 0.483 5.368 2.84 7.062z" fill-rule="evenodd" fill="#fff"/>
<path id="path1101" d="m301.46 125.42c0.415 2.049 1.402 1.735 1.329 0.743-0.243-3.165 0.013-6.282 2.812-8.36 0.887-0.65-0.104-1.25-0.859-0.937-2.38 1.001-3.826 5.59-3.282 8.554z" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1102" d="m302.08 125.07c0.415 2.049 2.11 1.96 1.798 0.626-0.635-2.555-0.534-6.282 1.718-7.891 0.889-0.647-0.104-1.25-0.859-0.937-2.38 1.001-3.201 5.238-2.657 8.202z" transform="translate(2.1486 1.6407)" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1103" d="m301.46 125.42c0.415 2.049 1.402 1.735 1.329 0.743-0.243-3.165 0.013-6.282 2.812-8.36 0.887-0.65-0.104-1.25-0.859-0.937-2.38 1.001-3.826 5.59-3.282 8.554z" transform="matrix(-1.0011 0 0 1 621.88 .078125)" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1104" d="m302.08 125.07c0.415 2.049 2.11 1.96 1.798 0.626-0.635-2.555-0.534-6.282 1.718-7.891 0.889-0.647-0.104-1.25-0.859-0.937-2.38 1.001-3.201 5.238-2.657 8.202z" transform="matrix(-1.0011 0 0 1 619.73 1.7188)" stroke="#000" stroke-width=".25" fill="none"/>
</g>
<g id="g1256" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1106" d="m275.4 191.24h70.707l-6.329-5.157h-58.05l-6.328 5.157z" stroke="#000" stroke-width=".5"/>
<path id="path1255" d="m275.4 191.24h70.707l-6.329-5.157h-58.05l-6.328 5.157z"/>
</g>
<g id="g1339" transform="translate(0,199.5)">
<g id="g1312" fill="#fff" fill-rule="evenodd">
<g id="g1299" stroke="#000" stroke-width=".5">
<rect id="rect1300" height="9.2973" width="6.7191" y="144.84" x="287.67"/>
<rect id="rect1301" height="1.9532" width="6.4847" y="159.45" x="288.06"/>
<rect id="rect1302" height="7.266" width="6.641" y="162.88" x="287.91"/>
<rect id="rect1303" height="4.0627" width="7.266" y="171.63" x="287.44"/>
<path id="path1304" d="m288.44 157.7h5.855l1.161-1.933h-8.066l1.05 1.933z" transform="translate(-.11047)"/>
<path id="path1305" d="m296.23 150.58 0.055-5.082h4.033c-1.584 1.307-3.057 2.891-4.088 5.082z"/>
<rect id="rect1306" transform="scale(-1,1)" height="9.2973" width="6.6057" y="144.84" x="-333.68"/>
<rect id="rect1307" transform="scale(-1,1)" height="1.9532" width="6.3752" y="159.45" x="-333.57"/>
<rect id="rect1308" transform="scale(-1,1)" height="7.266" width="6.4924" y="162.88" x="-333.69"/>
<rect id="rect1309" transform="scale(-1,1)" height="4.0627" width="7.1433" y="171.63" x="-334.11"/>
<path id="path1310" d="m288.44 157.7h5.855l1.161-1.933h-8.066l1.05 1.933z" transform="matrix(-.98312 0 0 1 616.61 0)"/>
<path id="path1311" d="m296.23 150.58 0.055-5.082h4.033c-1.584 1.307-3.057 2.891-4.088 5.082z" transform="matrix(-.98312 0 0 1 616.5 0)"/>
</g>
<g id="g1272">
<rect id="rect1273" height="9.2973" width="6.7191" y="144.84" x="287.67" stroke-width="1pt"/>
<rect id="rect1274" height="1.9532" width="6.4847" y="159.45" x="288.06" stroke-width="1pt"/>
<rect id="rect1275" height="7.266" width="6.641" y="162.88" x="287.91" stroke-width="1pt"/>
<rect id="rect1276" height="4.0627" width="7.266" y="171.63" x="287.44" stroke-width="1pt"/>
<path id="path1277" d="m288.44 157.7h5.855l1.161-1.933h-8.066l1.05 1.933z" transform="translate(-.11047)"/>
<path id="path1278" d="m296.23 150.58 0.055-5.082h4.033c-1.584 1.307-3.057 2.891-4.088 5.082z"/>
<rect id="rect1279" transform="scale(-1,1)" height="9.2973" width="6.6057" y="144.84" x="-333.68" stroke-width="1pt"/>
<rect id="rect1280" transform="scale(-1,1)" height="1.9532" width="6.3752" y="159.45" x="-333.57" stroke-width="1pt"/>
<rect id="rect1281" transform="scale(-1,1)" height="7.266" width="6.4924" y="162.88" x="-333.69" stroke-width="1pt"/>
<rect id="rect1282" transform="scale(-1,1)" height="4.0627" width="7.1433" y="171.63" x="-334.11" stroke-width="1pt"/>
<path id="path1283" d="m288.44 157.7h5.855l1.161-1.933h-8.066l1.05 1.933z" transform="matrix(-.98312 0 0 1 616.61 0)"/>
<path id="path1284" d="m296.23 150.58 0.055-5.082h4.033c-1.584 1.307-3.057 2.891-4.088 5.082z" transform="matrix(-.98312 0 0 1 616.5 0)"/>
</g>
</g>
<path id="path1119" d="m288.71 152.66c0.04 1.087 1.271 0.602 1.271 0.055 0-1.677 0.022-3.49-0.045-4.677-0.008-0.875 2.085-0.656 2.073-0.117 0.008 1.416 0.024 3.358 0.032 5.015-0.015 0.807 1.352 0.737 1.333 0-0.008-1.851-0.009-4.541 0-5.903 0.012-1.754-4.605-1.716-4.641-0.039 0.002 1.377-0.025 3.842-0.023 5.666z" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path1120" d="m288.71 152.66c0.04 1.087 1.271 0.602 1.271 0.055 0-1.677 0.022-3.49-0.045-4.677-0.008-0.875 2.085-0.656 2.073-0.117 0.008 1.416 0.024 3.358 0.032 5.015-0.015 0.807 1.312 0.737 1.294 0-0.008-1.89 0.03-4.541 0.039-5.903 0.012-1.754-4.605-1.716-4.641-0.039 0.002 1.377-0.025 3.842-0.023 5.666z" transform="translate(39.533 .19529)" stroke="#000" stroke-width=".25" fill="none"/>
<g id="g1126" transform="translate(.11719)">
<rect id="rect1121" height="5.9378" width="4.7659" stroke="#000" y="163.74" x="288.61" stroke-width=".25" fill="none"/>
<rect id="rect1122" fill-rule="evenodd" height=".97662" width="1.6798" y="166.2" x="291.66" stroke-width="1pt"/>
<rect id="rect1123" fill-rule="evenodd" height=".97662" width="1.6407" y="166.2" x="288.73" stroke-width="1pt"/>
<rect id="rect1124" fill-rule="evenodd" height="2.422" width="1.2891" y="163.82" x="290.37" stroke-width="1pt"/>
<rect id="rect1125" fill-rule="evenodd" height="2.5783" width="1.2891" y="167.14" x="290.37" stroke-width="1pt"/>
</g>
<g id="g1132" transform="translate(39.494 -.039062)">
<rect id="rect1133" height="5.9378" width="4.7659" stroke="#000" y="163.74" x="288.61" stroke-width=".25" fill="none"/>
<rect id="rect1134" fill-rule="evenodd" height=".97662" width="1.6798" y="166.2" x="291.66" stroke-width="1pt"/>
<rect id="rect1135" fill-rule="evenodd" height=".97662" width="1.6407" y="166.2" x="288.73" stroke-width="1pt"/>
<rect id="rect1136" fill-rule="evenodd" height="2.422" width="1.2891" y="163.82" x="290.37" stroke-width="1pt"/>
<rect id="rect1137" fill-rule="evenodd" height="2.5783" width="1.2891" y="167.14" x="290.37" stroke-width="1pt"/>
</g>
</g>
<g id="g1498" transform="translate(0,199.5)">
<rect id="rect1162" fill-rule="evenodd" height="5.8988" width=".82037" stroke="#000" y="164.05" x="323.77" stroke-width=".5" fill="#fff"/>
<path id="path1381" d="m307.83 171.87 1.289 3.867h2.929l-2.343-3.868-1.875 0.001zm-1.64 3.867 0.742 3.828 3.437 0.039-1.25-3.868-2.929 0.001zm5.82 0.039 2.383 3.789h4.883l-3.828-3.829-3.438 0.04zm-28.83 8.672c2.591-2.409 4.245-4.466 4.258-7.422h6.328c0.013 1.654 0.612 2.643 1.524 2.578l6.407-0.039-0.039-3.789h-4.649l-0.001-20.666c-0.169-7.305 8.881-11.563 12.58-11.524l-21.994-0.039v-0.664h46.253l0.039 0.664-22.306 0.039c6.615 0.013 12.995 6.277 13.048 11.564v5.859h-0.86l-0.039-5.781c0-5.782-7.282-11.186-13.126-11.017-5.053 0.145-12.891 4.962-12.813 10.978v1.797l11.993 0.078-0.117 2.07 1.883 1.202 3.756 1.197-0.055 3.105 2.69 0.793 0.023 3.102 3.227 1.385v3.211l2.047 1.261-0.094 3.261 2.774 1.953h-6.563l4.102 4.571h-6.055l-3.009-4.571h-3.984l1.797 4.531-4.257-0.039-1.017-4.492h-5.195l0.039 4.843-18.595 0.001zm18.556-12.54v3.828h4.454l-0.9-3.828h-3.554z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1178" d="m307.83 171.87 1.289 3.867h2.929l-2.343-3.868-1.875 0.001zm-1.64 3.867 0.742 3.828 3.437 0.039-1.25-3.868-2.929 0.001zm5.82 0.039 2.383 3.789h4.883l-3.828-3.829-3.438 0.04zm-28.83 8.672c2.591-2.409 4.245-4.466 4.258-7.422h6.328c0.013 1.654 0.612 2.643 1.524 2.578l6.407-0.039-0.039-3.789h-4.649l-0.001-20.666c-0.169-7.305 8.881-11.563 12.58-11.524l-21.994-0.039v-0.664h46.253l0.039 0.664-22.306 0.039c6.615 0.013 12.995 6.277 13.048 11.564v5.859h-0.86l-0.039-5.781c0-5.782-7.282-11.186-13.126-11.017-5.053 0.145-12.891 4.962-12.813 10.978v1.797l11.993 0.078-0.117 2.07 1.883 1.202 3.756 1.197-0.055 3.105 2.69 0.793 0.023 3.102 3.227 1.385v3.211l2.047 1.261-0.094 3.261 2.774 1.953h-6.563l4.102 4.571h-6.055l-3.009-4.571h-3.984l1.797 4.531-4.257-0.039-1.017-4.492h-5.195l0.039 4.843-18.595 0.001zm18.556-12.54v3.828h4.454l-0.9-3.828h-3.554z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<rect id="rect1179" height="6.3675" width="2.7736" stroke="#000" y="165.15" x="301.97" stroke-width=".24760" fill="none"/>
<path id="path1180" d="m298.05 171.73h2.707l-0.017-4.594c-0.035-1.997 1.793-4.01 2.668-4.077 0.97-0.036 2.4 1.885 2.448 3.92l0.039 4.766 2.872-0.006v-11.829l-10.717 0.056v11.764z" transform="matrix(1 0 0 1.0198 0 -3.1686)" stroke="#000" stroke-width=".25" fill="none"/>
<rect id="rect1181" height="2.6174" width="3.3596" stroke="#000" y="174.76" x="319.47" stroke-width=".24673" fill="none"/>
<rect id="rect1182" height="2.6174" width="3.3596" stroke="#000" y="170.26" x="317.48" stroke-width=".24673" fill="none"/>
<rect id="rect1183" height="2.6174" width="3.3596" stroke="#000" y="165.77" x="314.24" stroke-width=".24673" fill="none"/>
<rect id="rect1184" height="2.6174" width="3.3596" stroke="#000" y="161.98" x="311.46" stroke-width=".24673" fill="none"/>
<path id="path1185" d="m309.24 171.98 3.437 0.117 6.133 5.43v-3.203l-2.07-1.484v-2.54l-3.008-1.718v-2.735l-2.93-0.976v-3.712l-1.485-1.211-0.077 12.032z" stroke="#000" stroke-width=".25" fill="none"/>
<rect id="rect1382" fill-rule="evenodd" height="5.8988" width=".82037" y="164.05" x="323.77" stroke-width="1pt" fill="#fff"/>
</g>
<g id="g1550" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path912" d="m273.06 107.63c0.298 4.66-1.148 7.218-3.616 6.829-0.68-2.585 0.867-4.319 3.616-6.829z" transform="translate(-9.0952 -3.3232)"/>
<path id="path913" d="m267.46 119.35c-2.194-1.116-0.611-9.637 0.231-13.209 0.623 4.601 1.665 11.141-0.231 13.209z" transform="translate(-8.9203 -4.7225)"/>
<path id="path914" d="m267.72 119c3.688 1.283 6.608-2.689 7.595-7.289-3.044 4.201-7.998 4.206-7.595 7.289z" transform="translate(-8.3956 -3.9646)"/>
<path id="path915" d="m264.63 123.47c-2.884-0.762-1.147-9.802-0.623-13.418 0.634 3.735 2.622 12.181 0.623 13.418z" transform="translate(-8.1041 -4.1395)"/>
<path id="path916" d="m265.44 122.96c0.161-3.118 3.269-2.217 5.414-3.881-0.35 1.558-1.669 4.319-5.414 3.881z" transform="translate(-7.9292 -3.9063)"/>
<path id="path917" d="m262.26 128.01c-2.858-0.771-1.14-10.5-1.302-14.506 0.838 3.461 3.491 13.568 1.302 14.506z" transform="translate(-8.279 -4.7808)"/>
<path id="path918" d="m263.25 127.06c2.341 0.761 5.442-0.76 5.686-3.548-2.016 1.368-5.235 0.322-5.686 3.548z" transform="translate(-7.9292 -4.2561)"/>
<path id="path919" d="m262.34 128.34c-2.733 0.218-1.51-8.068-1.508-15.785 1.004 7.213 3.739 13.816 1.508 15.785z" transform="translate(-10.494 -.81623)"/>
<path id="path920" d="m263.29 127.15c1.846 0.926 5.153-0.554 6.097-3.672-3.335 1.45-5.565 0.033-6.097 3.672z" transform="translate(-10.494)"/>
</g>
<g id="g1560" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1561" d="m273.06 107.63c0.298 4.66-1.148 7.218-3.616 6.829-0.68-2.585 0.867-4.319 3.616-6.829z" transform="translate(-9.0952 -3.3232)"/>
<path id="path1562" d="m267.46 119.35c-2.194-1.116-0.611-9.637 0.231-13.209 0.623 4.601 1.665 11.141-0.231 13.209z" transform="translate(-8.9203 -4.7225)"/>
<path id="path1563" d="m267.72 119c3.688 1.283 6.608-2.689 7.595-7.289-3.044 4.201-7.998 4.206-7.595 7.289z" transform="translate(-8.3956 -3.9646)"/>
<path id="path1564" d="m264.63 123.47c-2.884-0.762-1.147-9.802-0.623-13.418 0.634 3.735 2.622 12.181 0.623 13.418z" transform="translate(-8.1041 -4.1395)"/>
<path id="path1565" d="m265.44 122.96c0.161-3.118 3.269-2.217 5.414-3.881-0.35 1.558-1.669 4.319-5.414 3.881z" transform="translate(-7.9292 -3.9063)"/>
<path id="path1566" d="m262.26 128.01c-2.858-0.771-1.14-10.5-1.302-14.506 0.838 3.461 3.491 13.568 1.302 14.506z" transform="translate(-8.279 -4.7808)"/>
<path id="path1567" d="m263.25 127.06c2.341 0.761 5.442-0.76 5.686-3.548-2.016 1.368-5.235 0.322-5.686 3.548z" transform="translate(-7.9292 -4.2561)"/>
<path id="path1568" d="m262.34 128.34c-2.733 0.218-1.51-8.068-1.508-15.785 1.004 7.213 3.739 13.816 1.508 15.785z" transform="translate(-10.494 -.81623)"/>
<path id="path1569" d="m263.29 127.15c1.846 0.926 5.153-0.554 6.097-3.672-3.335 1.45-5.565 0.033-6.097 3.672z" transform="translate(-10.494)"/>
</g>
<g id="g1570" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path884" d="m274.25 108.62c-0.486 4.042-2.138 6.394-4.606 6.005-0.68-2.585 1.321-4.237 4.606-6.005z"/>
<path id="path885" d="m267.72 119c4.1 0.582 5.577-2.565 8.337-6.588-3.868 2.799-8.493 3.381-8.337 6.588z"/>
<path id="path886" d="m266.56 118.53c-2.235-2.682-0.075-6.05 1.633-8.921-0.367 4.271 1.088 6.647-1.633 8.921z"/>
<path id="path887" d="m265.57 122.96c-0.252-2.623 4.217-3.206 6.238-4.664-0.68 1.516-1.71 5.597-6.238 4.664z"/>
<path id="path888" d="m264.63 123.02c-3.09-0.35-1.807-5.597 0.408-8.513-0.933 4.024 1.632 6.822-0.408 8.513z"/>
<path id="path889" d="m262.3 127.39c-3.517-1.555-1.263-5.966 0.059-8.57-0.564 3.42 2.254 6.024-0.059 8.57z"/>
<path id="path890" d="m263 126.98c1.846 2.41 5.442-0.719 6.18-4.373-3.129 2.605-5.441 2.177-6.18 4.373z"/>
</g>
<g id="g1588" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1589" d="m274.25 108.62c-0.486 4.042-2.138 6.394-4.606 6.005-0.68-2.585 1.321-4.237 4.606-6.005z"/>
<path id="path1590" d="m267.72 119c4.1 0.582 5.577-2.565 8.337-6.588-3.868 2.799-8.493 3.381-8.337 6.588z"/>
<path id="path1591" d="m266.56 118.53c-2.235-2.682-0.075-6.05 1.633-8.921-0.367 4.271 1.088 6.647-1.633 8.921z"/>
<path id="path1592" d="m265.57 122.96c-0.252-2.623 4.217-3.206 6.238-4.664-0.68 1.516-1.71 5.597-6.238 4.664z"/>
<path id="path1593" d="m264.63 123.02c-3.09-0.35-1.807-5.597 0.408-8.513-0.933 4.024 1.632 6.822-0.408 8.513z"/>
<path id="path1594" d="m262.3 127.39c-3.517-1.555-1.263-5.966 0.059-8.57-0.564 3.42 2.254 6.024-0.059 8.57z"/>
<path id="path1595" d="m263 126.98c1.846 2.41 5.442-0.719 6.18-4.373-3.129 2.605-5.441 2.177-6.18 4.373z"/>
</g>
<g id="g1596" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path891" d="m347.66 109.02c0.467 2.1 0.584 6.24 4.315 5.423 0.544-3.848-2.585-4.023-4.315-5.423z"/>
<path id="path892" d="m354.01 118.94c-0.135-3.965-4.411-3.091-8.103-6.356 1.011 3.44 4.586 7.638 8.103 6.356z"/>
<path id="path893" d="m354.89 118.47c2.507-1.73 0.583-5.5-1.749-8.804 0.875 3.596-1.049 6.899 1.749 8.804z"/>
<path id="path894" d="m355.99 122.96c-4.042 0.311-4.761-1.71-6.355-4.314 2.76 1.788 6.452 0.661 6.355 4.314z"/>
<path id="path895" d="m356.99 123.08c-1.925-1.575 0.466-4.956-0.35-8.337 1.516 2.137 3.848 7.249 0.35 8.337z"/>
<path id="path896" d="m358.68 127.27c-4.042 0.952-5.344-1.185-6.355-4.78 3.284 3.012 5.111 1.593 6.355 4.78z"/>
<path id="path897" d="m359.26 127.22c2.818-0.039 1.555-5.616 0.116-8.162 0.389 3.071-2.079 6.607-0.116 8.162z"/>
</g>
<g id="g1604" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1605" d="m347.66 109.02c0.467 2.1 0.584 6.24 4.315 5.423 0.544-3.848-2.585-4.023-4.315-5.423z"/>
<path id="path1606" d="m354.01 118.94c-0.135-3.965-4.411-3.091-8.103-6.356 1.011 3.44 4.586 7.638 8.103 6.356z"/>
<path id="path1607" d="m354.89 118.47c2.507-1.73 0.583-5.5-1.749-8.804 0.875 3.596-1.049 6.899 1.749 8.804z"/>
<path id="path1608" d="m355.99 122.96c-4.042 0.311-4.761-1.71-6.355-4.314 2.76 1.788 6.452 0.661 6.355 4.314z"/>
<path id="path1609" d="m356.99 123.08c-1.925-1.575 0.466-4.956-0.35-8.337 1.516 2.137 3.848 7.249 0.35 8.337z"/>
<path id="path1610" d="m358.68 127.27c-4.042 0.952-5.344-1.185-6.355-4.78 3.284 3.012 5.111 1.593 6.355 4.78z"/>
<path id="path1611" d="m359.26 127.22c2.818-0.039 1.555-5.616 0.116-8.162 0.389 3.071-2.079 6.607-0.116 8.162z"/>
</g>
<g id="g1612" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path923" d="m348.2 108.2c0.506 2.334-0.471 6.943 3.26 6.907 1.56-2.637-1.765-5.117-3.26-6.907z" transform="translate(9.3361 -3.867)"/>
<path id="path924" d="m354.3 119.33c2.351-1.612 0.232-6.906-0.499-12.866-0.57 5.315-1.83 11.118 0.499 12.866z" transform="translate(8.8388 -4.5852)"/>
<path id="path925" d="m353.7 119.13c0.295-2.91-4.293-3.559-7.438-7.41 0.815 3.088 3.14 7.599 7.438 7.41z" transform="translate(8.1759 -3.9775)"/>
<path id="path926" d="m356.67 124.33c-2.472-2.239 0.465-8.667 0.587-13.65 0.383 4.598 2.403 12.835-0.587 13.65z" transform="translate(8.3417 -4.6404)"/>
<path id="path927" d="m355.21 122.69c-3.613 0.232-4.566-2.414-4.988-3.924 1.94 1.398 5.007 0.739 4.988 3.924z" transform="translate(8.3969 -3.646)"/>
<path id="path928" d="m358.95 128.11c2.778-0.117 1.75-10.655 1.365-13.982-0.275 3.54-3.172 12.701-1.365 13.982z" transform="translate(8.2864 -5.0823)"/>
<path id="path929" d="m358.28 127.04c-2.401 0.366-4.836-1.029-5.495-3.413 2.073 0.902 5.501 0.187 5.495 3.413z" transform="translate(7.734 -4.1984)"/>
<path id="path930" d="m358.75 127.96c2.974 1.211 1.907-12.53 1.522-15.701-0.275 4.048-3.797 13.99-1.522 15.701z" transform="translate(10.717 -.55242)"/>
<path id="path931" d="m358.44 127.35c-2.988 0.444-5.188-1.38-6.043-3.881 3.05 1.137 5.424 0.733 6.043 3.881z" transform="translate(10.33 .055256)"/>
</g>
<g id="g2151" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1058" d="m366.62 143.7c0.368-3.589-2.381-10.115-0.43-13.594 0.266-0.478-0.584-1.747-1.133-0.977-0.858 1.229-1.74 4.731-2.109 3.438-0.391-1.406-0.451-3.893-1.719-4.376-0.809-0.283-1.953-0.468-1.641 0.782 0.31 1.202 1.004 2.862 0.235 2.969-0.446 0.065-1.731-1.636-2.813-2.422-0.872-0.701-2.173 0.396-0.898 1.445 4.144 3.379 8.159 4.9 10.508 12.735z" stroke="#000" stroke-width=".5"/>
<path id="path2150" d="m366.62 143.7c0.368-3.589-2.381-10.115-0.43-13.594 0.266-0.478-0.584-1.747-1.133-0.977-0.858 1.229-1.74 4.731-2.109 3.438-0.391-1.406-0.451-3.893-1.719-4.376-0.809-0.283-1.953-0.468-1.641 0.782 0.31 1.202 1.004 2.862 0.235 2.969-0.446 0.065-1.731-1.636-2.813-2.422-0.872-0.701-2.173 0.396-0.898 1.445 4.144 3.379 8.159 4.9 10.508 12.735z"/>
</g>
<g id="g1622" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1623" d="m348.2 108.2c0.506 2.334-0.471 6.943 3.26 6.907 1.56-2.637-1.765-5.117-3.26-6.907z" transform="translate(9.3361 -3.867)"/>
<path id="path1624" d="m354.3 119.33c2.351-1.612 0.232-6.906-0.499-12.866-0.57 5.315-1.83 11.118 0.499 12.866z" transform="translate(8.8388 -4.5852)"/>
<path id="path1625" d="m353.7 119.13c0.295-2.91-4.293-3.559-7.438-7.41 0.815 3.088 3.14 7.599 7.438 7.41z" transform="translate(8.1759 -3.9775)"/>
<path id="path1626" d="m356.67 124.33c-2.472-2.239 0.465-8.667 0.587-13.65 0.383 4.598 2.403 12.835-0.587 13.65z" transform="translate(8.3417 -4.6404)"/>
<path id="path1627" d="m355.21 122.69c-3.613 0.232-4.566-2.414-4.988-3.924 1.94 1.398 5.007 0.739 4.988 3.924z" transform="translate(8.3969 -3.646)"/>
<path id="path1628" d="m358.95 128.11c2.778-0.117 1.75-10.655 1.365-13.982-0.275 3.54-3.172 12.701-1.365 13.982z" transform="translate(8.2864 -5.0823)"/>
<path id="path1629" d="m358.28 127.04c-2.401 0.366-4.836-1.029-5.495-3.413 2.073 0.902 5.501 0.187 5.495 3.413z" transform="translate(7.734 -4.1984)"/>
<path id="path1630" d="m358.75 127.96c2.974 1.211 1.907-12.53 1.522-15.701-0.275 4.048-3.797 13.99-1.522 15.701z" transform="translate(10.717 -.55242)"/>
<path id="path1631" d="m358.44 127.35c-2.988 0.444-5.188-1.38-6.043-3.881 3.05 1.137 5.424 0.733 6.043 3.881z" transform="translate(10.33 .055256)"/>
</g>
<g id="g2131" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1064" d="m244.38 141.09c-1.017-1.062-0.723-1.468 0.781-1.485 1.193-0.075 3.557 0.731 4.454 0.078 0.822-0.597 0.495-3.129 0.86-4.297 0.159-0.651 0.615-1.673 1.64-0.078 3.032 4.859 6.819 10.692 8.438 16.407 0.885 3.203 0.443 8.359-2.969 11.094l-2.422-7.032c-1.151-3.343-7.347-11.365-10.782-14.687z" transform="matrix(-.99523 0 0 1 620.24 .22098)" stroke="#000" stroke-width=".50120"/>
<path id="path2130" d="m244.38 141.09c-1.017-1.062-0.723-1.468 0.781-1.485 1.193-0.075 3.557 0.731 4.454 0.078 0.822-0.597 0.495-3.129 0.86-4.297 0.159-0.651 0.615-1.673 1.64-0.078 3.032 4.859 6.819 10.692 8.438 16.407 0.885 3.203 0.443 8.359-2.969 11.094l-2.422-7.032c-1.151-3.343-7.347-11.365-10.782-14.687z" transform="matrix(-.99523 0 0 1 620.24 .22098)"/>
</g>
<g id="g1632" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path932" d="m371.62 145.11c-1.36 4.373-2.177 7.957-0.214 8.379 2.098-0.364 1.186-4.589 0.214-8.379z" transform="translate(8.7836 -12.54)"/>
<path id="path933" d="m368.78 157.36c2.237 1.188 4.648-4.514 4.147-9.005-1.127 3.849-4.921 6.226-4.147 9.005z" transform="translate(11.484 -12.516)"/>
<path id="path934" d="m370.43 156.77c0.347-3.109-0.93-3.027-2.603-5.998 0.177 3.356 1.013 6.17 2.603 5.998z" transform="translate(9.0046 -12.043)"/>
<path id="path935" d="m369.11 156.76c2.611 0.741 5.603-5.475 5.491-10.069-1.087 5.085-6.754 7.117-5.491 10.069z" transform="translate(11.064 -7.4739)"/>
<path id="path936" d="m372.09 156.03c1.047-2.409-1.089-2.115-2.506-6.432-0.469 4.468 0.212 6.507 2.506 6.432z" transform="translate(7.2311 -6.8602)"/>
<path id="path937" d="m369.29 155.78c3.388 0.583 5.135-6.897 6.818-10.479-3.332 4.696-7.324 7.311-6.818 10.479z" transform="translate(10.788 -1.9228)"/>
<path id="path938" d="m372.36 155.49c0.99-2.758-1.809-2.604-3.283-6.726 0.234 5.228 0.913 7.114 3.283 6.726z" transform="translate(6.9304 -1.8892)"/>
<path id="path939" d="m369.7 156.6c2.142 0.155 5.994-5.827 6.077-9.522-1.83 4.069-7.574 6.765-6.077 9.522z" transform="translate(10.567 1.7516)"/>
<path id="path940" d="m372.16 155.96c0.891-2.877-1.597-2.896-2.701-6.119-0.078 4.859 0.68 6.507 2.701 6.119z" transform="translate(6.5129 1.7025)"/>
<path id="path941" d="m368.74 155.82c3.778 0.661 4.745-4.319 6.974-9.385-2.199 4.032-7.167 6.295-6.974 9.385z" transform="translate(10.014 7.0266)"/>
<path id="path942" d="m372.44 155.37c1.225-2.602-1.613-2.604-3.127-6.492-0.078 5.501 0.874 7.114 3.127 6.492z" transform="translate(6.0465 6.784)"/>
</g>
<g id="g1644" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1645" d="m371.62 145.11c-1.36 4.373-2.177 7.957-0.214 8.379 2.098-0.364 1.186-4.589 0.214-8.379z" transform="translate(8.7836 -12.54)"/>
<path id="path1646" d="m368.78 157.36c2.237 1.188 4.648-4.514 4.147-9.005-1.127 3.849-4.921 6.226-4.147 9.005z" transform="translate(11.484 -12.516)"/>
<path id="path1647" d="m370.43 156.77c0.347-3.109-0.93-3.027-2.603-5.998 0.177 3.356 1.013 6.17 2.603 5.998z" transform="translate(9.0046 -12.043)"/>
<path id="path1648" d="m369.11 156.76c2.611 0.741 5.603-5.475 5.491-10.069-1.087 5.085-6.754 7.117-5.491 10.069z" transform="translate(11.064 -7.4739)"/>
<path id="path1649" d="m372.09 156.03c1.047-2.409-1.089-2.115-2.506-6.432-0.469 4.468 0.212 6.507 2.506 6.432z" transform="translate(7.2311 -6.8602)"/>
<path id="path1650" d="m369.29 155.78c3.388 0.583 5.135-6.897 6.818-10.479-3.332 4.696-7.324 7.311-6.818 10.479z" transform="translate(10.788 -1.9228)"/>
<path id="path1651" d="m372.36 155.49c0.99-2.758-1.809-2.604-3.283-6.726 0.234 5.228 0.913 7.114 3.283 6.726z" transform="translate(6.9304 -1.8892)"/>
<path id="path1652" d="m369.7 156.6c2.142 0.155 5.994-5.827 6.077-9.522-1.83 4.069-7.574 6.765-6.077 9.522z" transform="translate(10.567 1.7516)"/>
<path id="path1653" d="m372.16 155.96c0.891-2.877-1.597-2.896-2.701-6.119-0.078 4.859 0.68 6.507 2.701 6.119z" transform="translate(6.5129 1.7025)"/>
<path id="path1654" d="m368.74 155.82c3.778 0.661 4.745-4.319 6.974-9.385-2.199 4.032-7.167 6.295-6.974 9.385z" transform="translate(10.014 7.0266)"/>
<path id="path1655" d="m372.44 155.37c1.225-2.602-1.613-2.604-3.127-6.492-0.078 5.501 0.874 7.114 3.127 6.492z" transform="translate(6.0465 6.784)"/>
</g>
<g id="g2127" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1068" d="m256.81 166.87c3.334 0.016 3.985-4.687 3.985-5.937-1.641 0.312-4.611 3.281-3.985 5.937z" transform="matrix(-.99526 0 0 1 620.35 .078125)" stroke="#000" stroke-width=".50119"/>
<path id="path2126" d="m256.81 166.87c3.334 0.016 3.985-4.687 3.985-5.937-1.641 0.312-4.611 3.281-3.985 5.937z" transform="matrix(-.99526 0 0 1 620.35 .078125)"/>
</g>
<g id="g1656" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path905" d="m371.39 145.58c-1.36 4.373-1.904 6.472-0.058 7.871 2.41-1.341 1.03-4.081 0.058-7.871z"/>
<path id="path906" d="m370.63 157.01c1.011-3.226-1.477-4.003-2.798-7.638-0.136 4.801 0.544 8.318 2.798 7.638z"/>
<path id="path907" d="m369.64 157.24c1.769 0.68 3.945-3.42 2.741-7.521-1.244 3.693-4.296 4.586-2.741 7.521z" transform="translate(1.9823 .46642)"/>
<path id="path908" d="m371.97 156.31c1.711-2.643-1.011-2.779-2.389-6.471-0.078 4.859 0.368 6.859 2.389 6.471z" transform="translate(-2.2155 5.0723)"/>
<path id="path909" d="m372.44 155.61c1.303-2.992-1.535-2.604-3.205-6.296-0.078 5.501 0.835 6.684 3.205 6.296z" transform="translate(-2.6819 10.32)"/>
<path id="path910" d="m369.7 156.6c1.478 0.038 4.353-2.546 3.499-5.772-1.244 2.702-4.762 2.429-3.499 5.772z" transform="translate(1.341 4.9557)"/>
<path id="path911" d="m369.29 155.78c2.411 0.505 4.237-3.186 3.966-5.713-1.886 2.352-4.472 2.545-3.966 5.713z" transform="translate(1.341 9.6782)"/>
</g>
<g id="g1664" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1665" d="m371.39 145.58c-1.36 4.373-1.904 6.472-0.058 7.871 2.41-1.341 1.03-4.081 0.058-7.871z"/>
<path id="path1666" d="m370.63 157.01c1.011-3.226-1.477-4.003-2.798-7.638-0.136 4.801 0.544 8.318 2.798 7.638z"/>
<path id="path1667" d="m369.64 157.24c1.769 0.68 3.945-3.42 2.741-7.521-1.244 3.693-4.296 4.586-2.741 7.521z" transform="translate(1.9823 .46642)"/>
<path id="path1668" d="m371.97 156.31c1.711-2.643-1.011-2.779-2.389-6.471-0.078 4.859 0.368 6.859 2.389 6.471z" transform="translate(-2.2155 5.0723)"/>
<path id="path1669" d="m372.44 155.61c1.303-2.992-1.535-2.604-3.205-6.296-0.078 5.501 0.835 6.684 3.205 6.296z" transform="translate(-2.6819 10.32)"/>
<path id="path1670" d="m369.7 156.6c1.478 0.038 4.353-2.546 3.499-5.772-1.244 2.702-4.762 2.429-3.499 5.772z" transform="translate(1.341 4.9557)"/>
<path id="path1671" d="m369.29 155.78c2.411 0.505 4.237-3.186 3.966-5.713-1.886 2.352-4.472 2.545-3.966 5.713z" transform="translate(1.341 9.6782)"/>
</g>
<g id="g2122" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1065" d="m235.63 159.06c-0.297-0.385-1.15 0.01-0.937 0.938 0.198 1.256 2.05 7.704 5.233 9.922 2.27 1.636 14.201 4.271 19.61 5.39 2.977 0.599 5.47 2.084 7.423 4.454-0.808-3.099-1.457-5.395-2.5-8.203-1.014-2.468-3.701-5.168-6.484-5.313-5.169-0.186-11.859-0.626-16.72-2.735-2.509-1.048-4.011-2.464-5.625-4.453z" transform="matrix(-.99523 0 0 1 620.24 .22098)" stroke="#000" stroke-width=".50120"/>
<path id="path2121" d="m235.63 159.06c-0.297-0.385-1.15 0.01-0.937 0.938 0.198 1.256 2.05 7.704 5.233 9.922 2.27 1.636 14.201 4.271 19.61 5.39 2.977 0.599 5.47 2.084 7.423 4.454-0.808-3.099-1.457-5.395-2.5-8.203-1.014-2.468-3.701-5.168-6.484-5.313-5.169-0.186-11.859-0.626-16.72-2.735-2.509-1.048-4.011-2.464-5.625-4.453z" transform="matrix(-.99523 0 0 1 620.24 .22098)"/>
</g>
<g id="g1682" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path955" d="m370.55 157.24c0.543-2.172-0.149-2.871 0.444-6.272-3.26 4.372-2.034 6.444-0.444 6.272z" transform="translate(7.9109 17.254)"/>
<path id="path956" d="m368.43 157.47c2.159 0.602 7.773-4.318 7.937-7.989-1.518 2.638-9.101 5.484-7.937 7.989z" transform="translate(10.39 17.563)"/>
<path id="path957" d="m370.95 156.62c1.477-0.807 1.06-4.224-0.279-5.377-0.274 3.335-2.288 5.296 0.279 5.377z" transform="translate(4.3404 21.656)"/>
<path id="path958" d="m369.11 156.76c2.611 0.819 5.564-3.912 7.718-5.967-2.455 2.116-9.879 3.132-7.718 5.967z" transform="translate(7.7044 22.448)"/>
<path id="path959" d="m371.46 157.09c1.828-1.198 0.122-3.561-0.006-8.229-1.836 3.374-2.21 7.991 0.006 8.229z" transform="translate(1.7623 24.468)"/>
<g id="g1672">
<path id="path960" d="m368.68 156.56c0.932 1.249 7.83-3.053 9.554-6.241-5.892 4.382-11.09 3.797-9.554 6.241z" transform="translate(4.8919 26.198)"/>
<path id="path961" d="m371.89 155.65c1.693-1.234-1.457-4.479-2.111-8.835 0.039 5.306-0.688 9.34 2.111 8.835z" transform="translate(.99281 31.002)"/>
<path id="path962" d="m369.17 155.47c0.849 1.365 6.112-2.248 8.381-6.181-3.489 3.055-9.356 3.873-8.381 6.181z" transform="translate(5.5532 29.718)"/>
<path id="path963" d="m371.66 157.32c1.907-0.338 1.645-5.161 0.19-9.088-1.641 4.742-2.367 9.554-0.19 9.088z" transform="translate(-2.3153 33.812)"/>
<path id="path964" d="m369.34 155.97c0.658 0.78 8.416-4.656 8.304-6.866-2.455 3.522-10.66 4.226-8.304 6.866z" transform="translate(4.7853 32.533)"/>
<path id="path965" d="m370.95 156.43c2.631-1.079 1.394-5.339 1.912-9.93-2.071 4.486-4.517 8.989-1.912 9.93z" transform="translate(-5.8286 39.206)"/>
<path id="path966" d="m368.39 155.47c0.419 1.443 6.737-1.233 9.787-5.635-3.684 2.86-10.839 3.249-9.787 5.635z" transform="translate(1.6547 36.48)"/>
<path id="path967" d="m369.07 156.36c1.361 2.264 9.197-1.882 10.335-5.772-2.533 3.366-11.285 2.858-10.335 5.772z" transform="translate(-3.1054 39.955)"/>
<path id="path968" d="m361.57 154.61c1.439 0.155 4.783-2.585 5.725-4.014-2.689 1.334-6.324 3.171-5.725 4.014z" transform="translate(7.9884 43.47)"/>
</g>
</g>
<g id="g1714" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path969" d="m369.98 156.85c1.712 0.248 3.951-2.895 2.456-6.08-0.743 3.179-5.726 5.492-2.456 6.08z" transform="translate(-12.222 24.39)"/>
<path id="path970" d="m369.11 156.76c1.322 0.741 4.666-2.818 4.241-5.147-1.869 2.976-5.621 3.835-4.241 5.147z" transform="translate(-7.6863 22.604)"/>
<path id="path971" d="m368.72 156.91c1.284 1.249 7.596-5.163 9.476-8.077-5.462 4.655-11.051 5.828-9.476 8.077z" transform="translate(-11.202 27.682)"/>
<path id="path972" d="m369.05 155.59c1.005 1.521 5.213-3.068 7.873-6.884-3.372 3.328-9.083 4.85-7.873 6.884z" transform="translate(-13.041 32.843)"/>
<path id="path974" d="m371.93 155.65c1.029-2.718-0.676-3.151-1.447-6.53-1.523 1.868-1.352 7.035 1.447 6.53z" transform="translate(-15.492 29.127)"/>
<path id="path975" d="m371.89 155.65c2.045-0.57-1.262-4.049-1.955-6.53-0.312 4.564-0.258 6.84 1.955 6.53z" transform="translate(-17.132 32.877)"/>
<path id="path976" d="m371.69 155.57c1.888-0.687-1.067-2.409-1.369-6.218-0.938 1.4-1.43 6.723 1.369 6.218z" transform="translate(-18.929 36.236)"/>
<path id="path977" d="m371.38 156.97c1.203-0.651 0.708-3.756-1.139-4.166-0.43 2.436-0.374 4.202 1.139 4.166z" transform="translate(-21.441 35.64)"/>
</g>
<g id="g1723" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1724" d="m369.98 156.85c1.712 0.248 3.951-2.895 2.456-6.08-0.743 3.179-5.726 5.492-2.456 6.08z" transform="translate(-12.222 24.39)"/>
<path id="path1725" d="m369.11 156.76c1.322 0.741 4.666-2.818 4.241-5.147-1.869 2.976-5.621 3.835-4.241 5.147z" transform="translate(-7.6863 22.604)"/>
<path id="path1726" d="m368.72 156.91c1.284 1.249 7.596-5.163 9.476-8.077-5.462 4.655-11.051 5.828-9.476 8.077z" transform="translate(-11.202 27.682)"/>
<path id="path1727" d="m369.05 155.59c1.005 1.521 5.213-3.068 7.873-6.884-3.372 3.328-9.083 4.85-7.873 6.884z" transform="translate(-13.041 32.843)"/>
<path id="path1728" d="m371.93 155.65c1.029-2.718-0.676-3.151-1.447-6.53-1.523 1.868-1.352 7.035 1.447 6.53z" transform="translate(-15.492 29.127)"/>
<path id="path1729" d="m371.89 155.65c2.045-0.57-1.262-4.049-1.955-6.53-0.312 4.564-0.258 6.84 1.955 6.53z" transform="translate(-17.132 32.877)"/>
<path id="path1730" d="m371.69 155.57c1.888-0.687-1.067-2.409-1.369-6.218-0.938 1.4-1.43 6.723 1.369 6.218z" transform="translate(-18.929 36.236)"/>
<path id="path1731" d="m371.38 156.97c1.203-0.651 0.708-3.756-1.139-4.166-0.43 2.436-0.374 4.202 1.139 4.166z" transform="translate(-21.441 35.64)"/>
</g>
<g id="g1698" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1699" d="m370.55 157.24c0.543-2.172-0.149-2.871 0.444-6.272-3.26 4.372-2.034 6.444-0.444 6.272z" transform="translate(7.9109 17.254)"/>
<path id="path1700" d="m368.43 157.47c2.159 0.602 7.773-4.318 7.937-7.989-1.518 2.638-9.101 5.484-7.937 7.989z" transform="translate(10.39 17.563)"/>
<path id="path1701" d="m370.95 156.62c1.477-0.807 1.06-4.224-0.279-5.377-0.274 3.335-2.288 5.296 0.279 5.377z" transform="translate(4.3404 21.656)"/>
<path id="path1702" d="m369.11 156.76c2.611 0.819 5.564-3.912 7.718-5.967-2.455 2.116-9.879 3.132-7.718 5.967z" transform="translate(7.7044 22.448)"/>
<path id="path1703" d="m371.46 157.09c1.828-1.198 0.122-3.561-0.006-8.229-1.836 3.374-2.21 7.991 0.006 8.229z" transform="translate(1.7623 24.468)"/>
<g id="g1704">
<path id="path1705" d="m368.68 156.56c0.932 1.249 7.83-3.053 9.554-6.241-5.892 4.382-11.09 3.797-9.554 6.241z" transform="translate(4.8919 26.198)"/>
<path id="path1706" d="m371.89 155.65c1.693-1.234-1.457-4.479-2.111-8.835 0.039 5.306-0.688 9.34 2.111 8.835z" transform="translate(.99281 31.002)"/>
<path id="path1707" d="m369.17 155.47c0.849 1.365 6.112-2.248 8.381-6.181-3.489 3.055-9.356 3.873-8.381 6.181z" transform="translate(5.5532 29.718)"/>
<path id="path1708" d="m371.66 157.32c1.907-0.338 1.645-5.161 0.19-9.088-1.641 4.742-2.367 9.554-0.19 9.088z" transform="translate(-2.3153 33.812)"/>
<path id="path1709" d="m369.34 155.97c0.658 0.78 8.416-4.656 8.304-6.866-2.455 3.522-10.66 4.226-8.304 6.866z" transform="translate(4.7853 32.533)"/>
<path id="path1710" d="m370.95 156.43c2.631-1.079 1.394-5.339 1.912-9.93-2.071 4.486-4.517 8.989-1.912 9.93z" transform="translate(-5.8286 39.206)"/>
<path id="path1711" d="m368.39 155.47c0.419 1.443 6.737-1.233 9.787-5.635-3.684 2.86-10.839 3.249-9.787 5.635z" transform="translate(1.6547 36.48)"/>
<path id="path1712" d="m369.07 156.36c1.361 2.264 9.197-1.882 10.335-5.772-2.533 3.366-11.285 2.858-10.335 5.772z" transform="translate(-3.1054 39.955)"/>
<path id="path1713" d="m361.57 154.61c1.439 0.155 4.783-2.585 5.725-4.014-2.689 1.334-6.324 3.171-5.725 4.014z" transform="translate(7.9884 43.47)"/>
</g>
</g>
<g id="g2099" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1066" d="m235.83 159.52c-0.377-0.307-0.876-0.76-0.704 0.176 1.409 7.41 1.855 9.483 8.349 12.044 6.602 2.508 8.968 1.631 14.589 1.533 3.034-0.111 6.567 1.404 8.671 3.618 0.98 1.03 1.687 1.441 1.294 0.128-0.394-1.312-0.777-3.015-1.396-4.379-1.348-3.002-4.834-5.866-8.321-7.011-4.879-1.717-10.139-0.854-15.164-2.164-2.621-0.724-5.138-2.183-7.318-3.945z" transform="matrix(-.87627 -.47410 -.47184 .88047 655.69 169.53)" stroke="#000" stroke-width=".50120"/>
<path id="path2098" d="m235.83 159.52c-0.377-0.307-0.876-0.76-0.704 0.176 1.409 7.41 1.855 9.483 8.349 12.044 6.602 2.508 8.968 1.631 14.589 1.533 3.034-0.111 6.567 1.404 8.671 3.618 0.98 1.03 1.687 1.441 1.294 0.128-0.394-1.312-0.777-3.015-1.396-4.379-1.348-3.002-4.834-5.866-8.321-7.011-4.879-1.717-10.139-0.854-15.164-2.164-2.621-0.724-5.138-2.183-7.318-3.945z" transform="matrix(-.87627 -.47410 -.47184 .88047 655.69 169.53)"/>
</g>
<g id="g2065" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1081" d="m287.66 208.42c0.884 0.11 1.444 1.822 1.879 0.663 0.738-1.877 0.221-3.37-0.608-3.205-0.979 0.261-2.635 2.456-1.271 2.542z" transform="matrix(-.98830 0 0 1 618.22 .055237)" stroke="#000" stroke-width=".50295"/>
<path id="path2064" d="m287.66 208.42c0.884 0.11 1.444 1.822 1.879 0.663 0.738-1.877 0.221-3.37-0.608-3.205-0.979 0.261-2.635 2.456-1.271 2.542z" transform="matrix(-.98830 0 0 1 618.22 .055237)"/>
</g>
<g id="g1732" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path987" d="m369.07 156.68c1.688 1.918 3.817-0.083 5.178-1.663-2.116-0.851-4.775-1.09-5.178 1.663z" transform="matrix(.82834 -.56023 .56023 .82834 -50.002 277.82)"/>
<path id="path988" d="m369.88 155.77c0.653 1.911 5.234-0.649 5.86-3.498-3.194 2.378-6.81 0.584-5.86 3.498z" transform="matrix(.99375 .11161 -.11161 .99375 -7.6867 7.2933)"/>
<path id="path989" d="m369.35 155.59c0.743 2.113 3.186-0.632 6.119-2.388-3.037 0.256-6.895 0.359-6.119 2.388z" transform="matrix(.48134 -.87653 .87653 .48134 26.604 452.13)"/>
<path id="path990" d="m369.72 156.65c1.037 2.192 4.134-1.586 6.415-3.811-2.863 0.884-7.437 1.73-6.415 3.811z" transform="matrix(.53651 -.84390 .84390 .53651 7.4196 434.51)"/>
<path id="path991" d="m369.99 156.72c1.361 2.264 4.656-2.483 6.614-5.157-3.228 2.134-8.079 2.995-6.614 5.157z" transform="matrix(.90884 .41716 -.41716 .90884 68.522 -90.128)"/>
<path id="path992" d="m369.99 156.72c1.361 2.264 4.656-2.483 6.614-5.157-3.228 2.134-8.079 2.995-6.614 5.157z" transform="matrix(.90884 .41716 -.41716 .90884 65.787 -86.456)"/>
<path id="path993" d="m370.24 156.74c1.172 1.967 4.482-2.131 6.763-4.356-2.863 0.884-7.938 2.326-6.763 4.356z" transform="matrix(.53651 -.84390 .84390 .53651 4.4898 438.57)"/>
<path id="path994" d="m370.48 156.11c1.361 2.264 4.413-1.984 6.218-4.803-3.166 2.363-7.683 2.641-6.218 4.803z" transform="matrix(.90884 .41716 -.41716 .90884 61.842 -83.019)"/>
</g>
<g id="g1741" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1742" d="m369.07 156.68c1.688 1.918 3.817-0.083 5.178-1.663-2.116-0.851-4.775-1.09-5.178 1.663z" transform="matrix(.82834 -.56023 .56023 .82834 -50.002 277.82)"/>
<path id="path1743" d="m369.88 155.77c0.653 1.911 5.234-0.649 5.86-3.498-3.194 2.378-6.81 0.584-5.86 3.498z" transform="matrix(.99375 .11161 -.11161 .99375 -7.6867 7.2933)"/>
<path id="path1744" d="m369.35 155.59c0.743 2.113 3.186-0.632 6.119-2.388-3.037 0.256-6.895 0.359-6.119 2.388z" transform="matrix(.48134 -.87653 .87653 .48134 26.604 452.13)"/>
<path id="path1745" d="m369.72 156.65c1.037 2.192 4.134-1.586 6.415-3.811-2.863 0.884-7.437 1.73-6.415 3.811z" transform="matrix(.53651 -.84390 .84390 .53651 7.4196 434.51)"/>
<path id="path1746" d="m369.99 156.72c1.361 2.264 4.656-2.483 6.614-5.157-3.228 2.134-8.079 2.995-6.614 5.157z" transform="matrix(.90884 .41716 -.41716 .90884 68.522 -90.128)"/>
<path id="path1747" d="m369.99 156.72c1.361 2.264 4.656-2.483 6.614-5.157-3.228 2.134-8.079 2.995-6.614 5.157z" transform="matrix(.90884 .41716 -.41716 .90884 65.787 -86.456)"/>
<path id="path1748" d="m370.24 156.74c1.172 1.967 4.482-2.131 6.763-4.356-2.863 0.884-7.938 2.326-6.763 4.356z" transform="matrix(.53651 -.84390 .84390 .53651 4.4898 438.57)"/>
<path id="path1749" d="m370.48 156.11c1.361 2.264 4.413-1.984 6.218-4.803-3.166 2.363-7.683 2.641-6.218 4.803z" transform="matrix(.90884 .41716 -.41716 .90884 61.842 -83.019)"/>
</g>
<g id="g1750" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path978" d="m369.07 156.68c1.361 2.263 6.384-1.648 9.124-3.663-3.939 1.217-10.074 0.749-9.124 3.663z" transform="translate(-10.066 52.329)"/>
<path id="path979" d="m369.28 156.37c1.361 2.264 8.564-2.689 9.028-4.913-3.08 2.902-10.243 2.972-9.028 4.913z" transform="matrix(.93771 .34742 -.34742 .93771 61.925 -63.565)"/>
<path id="path980" d="m369.02 156.34c0.734 1.246 6.626-1.513 9.316-3.687-3.171 1.645-10.727 1.777-9.316 3.687z" transform="matrix(.93771 .34742 -.34742 .93771 58.168 -61.466)"/>
<path id="path981" d="m369.07 156.36c0.474 1.218 7.802-0.699 9.444-3.567-4.491 2.466-11.007 0.797-9.444 3.567z" transform="matrix(.93771 .34742 -.34742 .93771 54.743 -59.808)"/>
<path id="path982" d="m369.61 155.58c0.357 1.803 7.914-1.407 10.013-3.154-4.247 1.211-10.571 0.511-10.013 3.154z" transform="matrix(.93771 .34742 -.34742 .93771 48.003 -58.041)"/>
<path id="path983" d="m369.84 156.21c0.943 2.325 8.486-2.48 11.315-4.831-4.94 1.877-12.584 2.587-11.315 4.831z" transform="matrix(.90337 -.42886 .42886 .90337 -60.675 232.1)"/>
<path id="path984" d="m370.05 156.48c1.361 2.264 5.479-1.701 8.171-4.767-3.344 2.159-9.121 1.853-8.171 4.767z" transform="matrix(.90337 -.42886 .42886 .90337 -55.593 230.66)"/>
<path id="path985" d="m369.77 156.44c1.361 2.264 4.556-1.577 6.334-4.083-2.48 1.705-7.284 1.169-6.334 4.083z" transform="matrix(.90337 -.42886 .42886 .90337 -51.063 229.12)"/>
<path id="path986" d="m369.35 155.59c1.361 2.264 5.597-0.218 6.735-4.108-2.533 3.366-7.685 1.194-6.735 4.108z" transform="matrix(.90337 -.42886 .42886 .90337 -46.201 227.13)"/>
<path id="path1038" d="m369.18 156.24c1.084 2.76 12.483-2.413 14.394-5.864-3.662 3.095-15.455 2.674-14.394 5.864z" transform="translate(-23.348 64.439)"/>
</g>
<g id="g1761" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1762" d="m369.07 156.68c1.361 2.263 6.384-1.648 9.124-3.663-3.939 1.217-10.074 0.749-9.124 3.663z" transform="translate(-10.066 52.329)"/>
<path id="path1763" d="m369.28 156.37c1.361 2.264 8.564-2.689 9.028-4.913-3.08 2.902-10.243 2.972-9.028 4.913z" transform="matrix(.93771 .34742 -.34742 .93771 61.925 -63.565)"/>
<path id="path1764" d="m369.02 156.34c0.734 1.246 6.626-1.513 9.316-3.687-3.171 1.645-10.727 1.777-9.316 3.687z" transform="matrix(.93771 .34742 -.34742 .93771 58.168 -61.466)"/>
<path id="path1765" d="m369.07 156.36c0.474 1.218 7.802-0.699 9.444-3.567-4.491 2.466-11.007 0.797-9.444 3.567z" transform="matrix(.93771 .34742 -.34742 .93771 54.743 -59.808)"/>
<path id="path1766" d="m369.61 155.58c0.357 1.803 7.914-1.407 10.013-3.154-4.247 1.211-10.571 0.511-10.013 3.154z" transform="matrix(.93771 .34742 -.34742 .93771 48.003 -58.041)"/>
<path id="path1767" d="m369.84 156.21c0.943 2.325 8.486-2.48 11.315-4.831-4.94 1.877-12.584 2.587-11.315 4.831z" transform="matrix(.90337 -.42886 .42886 .90337 -60.675 232.1)"/>
<path id="path1768" d="m370.05 156.48c1.361 2.264 5.479-1.701 8.171-4.767-3.344 2.159-9.121 1.853-8.171 4.767z" transform="matrix(.90337 -.42886 .42886 .90337 -55.593 230.66)"/>
<path id="path1769" d="m369.77 156.44c1.361 2.264 4.556-1.577 6.334-4.083-2.48 1.705-7.284 1.169-6.334 4.083z" transform="matrix(.90337 -.42886 .42886 .90337 -51.063 229.12)"/>
<path id="path1770" d="m369.35 155.59c1.361 2.264 5.597-0.218 6.735-4.108-2.533 3.366-7.685 1.194-6.735 4.108z" transform="matrix(.90337 -.42886 .42886 .90337 -46.201 227.13)"/>
<path id="path1771" d="m369.18 156.24c1.084 2.76 12.483-2.413 14.394-5.864-3.662 3.095-15.455 2.674-14.394 5.864z" transform="translate(-23.348 64.439)"/>
</g>
<g id="g2048" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path1060" d="m366.62 143.7c0.368-3.589-2.381-10.115-0.43-13.594 0.266-0.478-0.584-1.747-1.133-0.977-0.858 1.229-1.74 4.731-2.109 3.438-0.391-1.406-0.451-3.893-1.719-4.376-0.809-0.283-1.953-0.468-1.641 0.782 0.31 1.202 1.004 2.862 0.235 2.969-0.446 0.065-1.731-1.636-2.813-2.422-0.872-0.701-2.173 0.396-0.898 1.445 4.144 3.379 8.159 4.9 10.508 12.735z" transform="matrix(-.98188 0 0 1 614.94 .23438)" stroke="#000" stroke-width=".5"/>
<path id="path2023" d="m366.62 143.7c0.368-3.589-2.381-10.115-0.43-13.594 0.266-0.478-0.584-1.747-1.133-0.977-0.858 1.229-1.74 4.731-2.109 3.438-0.391-1.406-0.451-3.893-1.719-4.376-0.809-0.283-1.953-0.468-1.641 0.782 0.31 1.202 1.004 2.862 0.235 2.969-0.446 0.065-1.731-1.636-2.813-2.422-0.872-0.701-2.173 0.396-0.898 1.445 4.144 3.379 8.159 4.9 10.508 12.735z" transform="matrix(-.98188 0 0 1 614.94 .23438)" stroke-width="1pt"/>
</g>
<g id="g1944" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1063" d="m235.83 159.52c-0.377-0.307-0.876-0.76-0.704 0.176 1.409 7.41 1.855 9.483 8.349 12.044 6.602 2.508 8.968 1.631 14.589 1.533 3.034-0.111 6.567 1.404 8.671 3.618 0.98 1.03 1.687 1.441 1.294 0.128-0.394-1.312-0.777-3.015-1.396-4.379-1.348-3.002-4.834-5.866-8.321-7.011-4.879-1.717-10.139-0.854-15.164-2.164-2.621-0.724-5.138-2.183-7.318-3.945z" transform="matrix(.88047 -.47410 .47410 .88047 -35.615 169.31)" stroke="#000" stroke-width=".5"/>
<path id="path1943" d="m235.83 159.52c-0.377-0.307-0.876-0.76-0.704 0.176 1.409 7.41 1.855 9.483 8.349 12.044 6.602 2.508 8.968 1.631 14.589 1.533 3.034-0.111 6.567 1.404 8.671 3.618 0.98 1.03 1.687 1.441 1.294 0.128-0.394-1.312-0.777-3.015-1.396-4.379-1.348-3.002-4.834-5.866-8.321-7.011-4.879-1.717-10.139-0.854-15.164-2.164-2.621-0.724-5.138-2.183-7.318-3.945z" transform="matrix(.88047 -.47410 .47410 .88047 -35.615 169.31)"/>
</g>
<g id="g2061" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1080" d="m287.66 208.42c0.884 0.11 1.444 1.822 1.879 0.663 0.738-1.877 0.221-3.37-0.608-3.205-0.979 0.261-2.635 2.456-1.271 2.542z" stroke="#000" stroke-width=".5"/>
<path id="path2060" d="m287.66 208.42c0.884 0.11 1.444 1.822 1.879 0.663 0.738-1.877 0.221-3.37-0.608-3.205-0.979 0.261-2.635 2.456-1.271 2.542z"/>
</g>
<g id="g1772" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path1017" d="m249.9 157.09c1.728 1.711 4.718-3.155 3.941-6.49-1.033 3.678-5.223 5.02-3.941 6.49z" transform="matrix(0.849 -.52839 .52839 0.849 -9.4802 208.69)"/>
<path id="path1018" d="m250.19 157.5c-2.085 1.745-3.69-5.558-3.041-8.224 1.03 4.254 4.665 6.769 3.041 8.224z" transform="matrix(.59662 -.80252 .80252 .59662 9.1043 316.78)"/>
<path id="path1019" d="m250.18 157.07c-2.021 1.7-3.633-4.676-2.984-7.342 1.233 4.066 4.608 5.887 2.984 7.342z" transform="matrix(.57031 -.82143 .82143 .57031 10.079 322.01)"/>
<path id="path1020" d="m250.12 156.81c1.728 1.711 4.523-3.507 3.639-6.448-1.144 3.931-4.921 4.978-3.639 6.448z" transform="matrix(0.849 -.52839 .52839 0.849 -12.293 205.49)"/>
<path id="path1021" d="m250.52 157.06c1.728 1.711 3.26-3.326 2.841-5.979-1.717 3.299-4.068 4.865-2.841 5.979z" transform="matrix(0.849 -.52839 .52839 0.849 -15.262 201.89)"/>
<path id="path1022" d="m250.37 157.56c-2.085 1.745-3.109-3.375-2.065-6.363 1.21 4.034 3.689 4.908 2.065 6.363z" transform="matrix(.57031 -.82143 .82143 .57031 6.9544 318.65)"/>
<path id="path1023" d="m250.33 156.62c1.52 1.162 3.868-1.273 2.834-4.049-1.623 0.795-4.329 2.684-2.834 4.049z" transform="matrix(.29048 -.95688 .95688 .29048 55.276 394.83)"/>
<path id="path1033" d="m250.98 156.86c-2.085 1.745-5.07-4.533-4.027-7.978 1.914 3.937 5.651 6.523 4.027 7.978z" transform="matrix(.59662 -.80252 .80252 .59662 13.91 320.87)"/>
</g>
<g id="g1996" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<g id="g1948" stroke="#000" stroke-width=".5">
<path id="path1061" d="m244.38 141.09c-1.017-1.062-0.723-1.468 0.781-1.485 1.193-0.075 3.557 0.731 4.454 0.078 0.822-0.597 0.495-3.129 0.86-4.297 0.159-0.651 0.615-1.673 1.64-0.078 3.032 4.859 6.819 10.692 8.438 16.407 0.885 3.203 0.052 8.203-2.891 11.563 0.104-2.865-0.964-4.792-2.266-7.188-1.608-3.149-7.581-11.678-11.016-15z"/>
<path id="path1067" d="m256.88 166.64c3.334 0.016 3.907-4.453 3.907-5.703-1.641 0.312-4.532 3.047-3.907 5.703z"/>
</g>
<g id="g1951">
<path id="path1952" d="m244.38 141.09c-1.017-1.062-0.723-1.468 0.781-1.485 1.193-0.075 3.557 0.731 4.454 0.078 0.822-0.597 0.495-3.129 0.86-4.297 0.159-0.651 0.615-1.673 1.64-0.078 3.032 4.859 6.819 10.692 8.438 16.407 0.885 3.203 0.052 8.203-2.891 11.563 0.104-2.865-0.964-4.792-2.266-7.188-1.608-3.149-7.581-11.678-11.016-15z"/>
<path id="path1953" d="m256.88 166.64c3.334 0.016 3.907-4.453 3.907-5.703-1.641 0.312-4.532 3.047-3.907 5.703z"/>
</g>
</g>
<g id="g1781" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1782" d="m249.9 157.09c1.728 1.711 4.718-3.155 3.941-6.49-1.033 3.678-5.223 5.02-3.941 6.49z" transform="matrix(0.849 -.52839 .52839 0.849 -9.4802 208.69)"/>
<path id="path1783" d="m250.19 157.5c-2.085 1.745-3.69-5.558-3.041-8.224 1.03 4.254 4.665 6.769 3.041 8.224z" transform="matrix(.59662 -.80252 .80252 .59662 9.1043 316.78)"/>
<path id="path1784" d="m250.18 157.07c-2.021 1.7-3.633-4.676-2.984-7.342 1.233 4.066 4.608 5.887 2.984 7.342z" transform="matrix(.57031 -.82143 .82143 .57031 10.079 322.01)"/>
<path id="path1785" d="m250.12 156.81c1.728 1.711 4.523-3.507 3.639-6.448-1.144 3.931-4.921 4.978-3.639 6.448z" transform="matrix(0.849 -.52839 .52839 0.849 -12.293 205.49)"/>
<path id="path1786" d="m250.52 157.06c1.728 1.711 3.26-3.326 2.841-5.979-1.717 3.299-4.068 4.865-2.841 5.979z" transform="matrix(0.849 -.52839 .52839 0.849 -15.262 201.89)"/>
<path id="path1787" d="m250.37 157.56c-2.085 1.745-3.109-3.375-2.065-6.363 1.21 4.034 3.689 4.908 2.065 6.363z" transform="matrix(.57031 -.82143 .82143 .57031 6.9544 318.65)"/>
<path id="path1788" d="m250.33 156.62c1.52 1.162 3.868-1.273 2.834-4.049-1.623 0.795-4.329 2.684-2.834 4.049z" transform="matrix(.29048 -.95688 .95688 .29048 55.276 394.83)"/>
<path id="path1789" d="m250.98 156.86c-2.085 1.745-5.07-4.533-4.027-7.978 1.914 3.937 5.651 6.523 4.027 7.978z" transform="matrix(.59662 -.80252 .80252 .59662 13.91 320.87)"/>
</g>
<g id="g1790" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path1024" d="m250.86 158.12c-2.085 1.745-3.885-6.069-2.841-9.057 1.21 4.034 4.465 7.602 2.841 9.057z" transform="matrix(.57031 -.82143 .82143 .57031 -10.503 324.07)"/>
<path id="path1025" d="m250.38 156.93c1.52 1.162 3.351-2.708 3.264-5.322-1.623 0.795-4.759 3.957-3.264 5.322z" transform="matrix(.29048 -.95688 .95688 .29048 44.117 403.34)"/>
<path id="path1026" d="m250.88 157.68c-1.905 1.525-5.456-5.931-4.824-8.965 2.958 6.483 6.406 7.587 4.824 8.965z" transform="matrix(.57031 -.82143 .82143 .57031 -5.1125 327.37)"/>
<path id="path1027" d="m250.19 157.5c-1.851 1.583-3.841-6.002-3.478-9.025 1.462 4.19 4.77 7.93 3.478 9.025z" transform="matrix(.32122 -0.947 0.947 .32122 41.784 399.18)"/>
<path id="path1028" d="m250.38 157.68c-1.641 1.471-3.924-5.396-3.996-9.096 1.537 4.412 5.62 7.641 3.996 9.096z" transform="matrix(.32122 -0.947 0.947 .32122 45.209 400.95)"/>
<path id="path1029" d="m250.19 157.5c-2.085 1.745-3.875-5.679-3.226-8.345 1.497 4.196 4.85 6.89 3.226 8.345z" transform="matrix(.20456 -.97885 .97885 .20456 74.876 428.26)"/>
<path id="path1030" d="m249.96 156.68c-2.641 1.126-1.795-3.311-3.205-6.705 2.557 3.211 5.062 5.525 3.205 6.705z" transform="matrix(.98729 -.15894 .15894 .98729 -.40534 96.513)"/>
<path id="path1031" d="m250.18 157.07c-2.298 1.458-2.921-4.918-4.199-8.645 2.433 3.744 6.293 7.464 4.199 8.645z" transform="matrix(.98729 -.15894 .15894 .98729 3.6274 97.783)"/>
<path id="path1032" d="m250.41 157.35c-2.021 1.7-5.694-6.867-6.833-11.206 2.219 3.592 8.457 9.751 6.833 11.206z" transform="matrix(.98729 -.15894 .15894 .98729 9.0413 99.275)"/>
</g>
<g id="g1800" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1801" d="m250.86 158.12c-2.085 1.745-3.885-6.069-2.841-9.057 1.21 4.034 4.465 7.602 2.841 9.057z" transform="matrix(.57031 -.82143 .82143 .57031 -10.503 324.07)"/>
<path id="path1802" d="m250.38 156.93c1.52 1.162 3.351-2.708 3.264-5.322-1.623 0.795-4.759 3.957-3.264 5.322z" transform="matrix(.29048 -.95688 .95688 .29048 44.117 403.34)"/>
<path id="path1803" d="m250.88 157.68c-1.905 1.525-5.456-5.931-4.824-8.965 2.958 6.483 6.406 7.587 4.824 8.965z" transform="matrix(.57031 -.82143 .82143 .57031 -5.1125 327.37)"/>
<path id="path1804" d="m250.19 157.5c-1.851 1.583-3.841-6.002-3.478-9.025 1.462 4.19 4.77 7.93 3.478 9.025z" transform="matrix(.32122 -0.947 0.947 .32122 41.784 399.18)"/>
<path id="path1805" d="m250.38 157.68c-1.641 1.471-3.924-5.396-3.996-9.096 1.537 4.412 5.62 7.641 3.996 9.096z" transform="matrix(.32122 -0.947 0.947 .32122 45.209 400.95)"/>
<path id="path1806" d="m250.19 157.5c-2.085 1.745-3.875-5.679-3.226-8.345 1.497 4.196 4.85 6.89 3.226 8.345z" transform="matrix(.20456 -.97885 .97885 .20456 74.876 428.26)"/>
<path id="path1807" d="m249.96 156.68c-2.641 1.126-1.795-3.311-3.205-6.705 2.557 3.211 5.062 5.525 3.205 6.705z" transform="matrix(.98729 -.15894 .15894 .98729 -.40534 96.513)"/>
<path id="path1808" d="m250.18 157.07c-2.298 1.458-2.921-4.918-4.199-8.645 2.433 3.744 6.293 7.464 4.199 8.645z" transform="matrix(.98729 -.15894 .15894 .98729 3.6274 97.783)"/>
<path id="path1809" d="m250.41 157.35c-2.021 1.7-5.694-6.867-6.833-11.206 2.219 3.592 8.457 9.751 6.833 11.206z" transform="matrix(.98729 -.15894 .15894 .98729 9.0413 99.275)"/>
</g>
<path id="path1820" d="m276.43 420.33c-0.86048 3.0401-13.554-2.8657-14.971-5.9253 7.2632 3.8485 15.145 3.0436 14.971 5.9253z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<g id="g2003" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1062" d="m235.63 159.06c-0.297-0.385-1.15 0.01-0.937 0.938 0.198 1.256 2.05 7.704 5.233 9.922 2.27 1.636 14.201 4.271 19.61 5.39 2.977 0.599 5.47 2.084 7.423 4.454-0.808-3.099-1.457-5.395-2.5-8.203-1.014-2.468-3.701-5.168-6.484-5.313-5.169-0.186-11.859-0.626-16.72-2.735-2.509-1.048-4.011-2.464-5.625-4.453z" stroke="#000" stroke-width=".5"/>
<path id="path1947" d="m235.63 159.06c-0.297-0.385-1.15 0.01-0.937 0.938 0.198 1.256 2.05 7.704 5.233 9.922 2.27 1.636 14.201 4.271 19.61 5.39 2.977 0.599 5.47 2.084 7.423 4.454-0.808-3.099-1.457-5.395-2.5-8.203-1.014-2.468-3.701-5.168-6.484-5.313-5.169-0.186-11.859-0.626-16.72-2.735-2.509-1.048-4.011-2.464-5.625-4.453z"/>
</g>
<g id="g1821" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path1008" d="m250.53 156.52c1.172 1.65 4.227-1.871 3.541-6.402-1.294 3.717-4.678 3.992-3.541 6.402z" transform="matrix(.94971 -.31314 .31314 .94971 -21.681 114.37)"/>
<path id="path1009" d="m250.32 156.17c1.924 1.363 3.843-2.203 3.432-5.697-0.838 3.332-5.085 4.105-3.432 5.697z" transform="matrix(.94971 -.31314 .31314 .94971 -19.806 118.59)"/>
<path id="path1010" d="m250.33 156.62c1.728 1.711 3.772-1.857 3.223-5.188-1.033 3.678-4.505 3.718-3.223 5.188z" transform="matrix(.94971 -.31314 .31314 .94971 -18.244 121.33)"/>
<path id="path1011" d="m250.32 157.35c-2.085 1.745-3.833-4.965-3.184-7.631 1.03 4.254 4.808 6.176 3.184 7.631z" transform="matrix(.85194 -.52363 .52363 .85194 -28.011 188.95)"/>
<path id="path1013" d="m250.2 157.55c-2.185 1.683-4.069-7.266-3.58-10.717 1.03 4.254 5.128 9.536 3.58 10.717z" transform="matrix(.85194 -.52363 .52363 .85194 -30.277 184.77)"/>
<path id="path1014" d="m250.32 157.35c-2.369 1.983-4.106-8.251-4.307-11.623 1.184 4.303 6.051 10.196 4.307 11.623z" transform="matrix(.85194 -.52363 .52363 .85194 -31.527 181.14)"/>
<path id="path1015" d="m250.82 156.4c1.377 2.03 2.221-1.098 4.058-5.093-3.21 1.222-5.195 2.683-4.058 5.093z" transform="matrix(.39304 -.91952 .91952 .39304 21.518 350.38)"/>
<path id="path1016" d="m251.34 156.64c1.45 0.511 1.093-1.551 2.704-4.982-1.901 0.408-4.048 4.274-2.704 4.982z" transform="matrix(.39304 -.91952 .91952 .39304 17.026 348.82)"/>
<path id="path1055" d="m251.93 155.26c1.01 1.145 2.712-1.137 1.918-3.973-1.185 2.394-2.754 2.65-1.918 3.973z" transform="matrix(.94971 -.31314 .31314 .94971 -16.369 123.44)"/>
</g>
<g id="g1831" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1832" d="m250.53 156.52c1.172 1.65 4.227-1.871 3.541-6.402-1.294 3.717-4.678 3.992-3.541 6.402z" transform="matrix(.94971 -.31314 .31314 .94971 -21.681 114.37)"/>
<path id="path1833" d="m250.32 156.17c1.924 1.363 3.843-2.203 3.432-5.697-0.838 3.332-5.085 4.105-3.432 5.697z" transform="matrix(.94971 -.31314 .31314 .94971 -19.806 118.59)"/>
<path id="path1834" d="m250.33 156.62c1.728 1.711 3.772-1.857 3.223-5.188-1.033 3.678-4.505 3.718-3.223 5.188z" transform="matrix(.94971 -.31314 .31314 .94971 -18.244 121.33)"/>
<path id="path1835" d="m250.32 157.35c-2.085 1.745-3.833-4.965-3.184-7.631 1.03 4.254 4.808 6.176 3.184 7.631z" transform="matrix(.85194 -.52363 .52363 .85194 -28.011 188.95)"/>
<path id="path1836" d="m250.2 157.55c-2.185 1.683-4.069-7.266-3.58-10.717 1.03 4.254 5.128 9.536 3.58 10.717z" transform="matrix(.85194 -.52363 .52363 .85194 -30.277 184.77)"/>
<path id="path1837" d="m250.32 157.35c-2.369 1.983-4.106-8.251-4.307-11.623 1.184 4.303 6.051 10.196 4.307 11.623z" transform="matrix(.85194 -.52363 .52363 .85194 -31.527 181.14)"/>
<path id="path1838" d="m250.82 156.4c1.377 2.03 2.221-1.098 4.058-5.093-3.21 1.222-5.195 2.683-4.058 5.093z" transform="matrix(.39304 -.91952 .91952 .39304 21.518 350.38)"/>
<path id="path1839" d="m251.34 156.64c1.45 0.511 1.093-1.551 2.704-4.982-1.901 0.408-4.048 4.274-2.704 4.982z" transform="matrix(.39304 -.91952 .91952 .39304 17.026 348.82)"/>
<path id="path1840" d="m251.93 155.26c1.01 1.145 2.712-1.137 1.918-3.973-1.185 2.394-2.754 2.65-1.918 3.973z" transform="matrix(.94971 -.31314 .31314 .94971 -16.369 123.44)"/>
</g>
<g id="g1878" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path995" d="m250.84 158.3c-3.215 0.553-4.94-7.294-5.05-10.29 1.147 3.834 6.165 8.875 5.05 10.29z" transform="matrix(.93241 -.36139 .36139 .93241 -48.214 118.01)"/>
<path id="path996" d="m250.7 157.48c-2.064 1.041-4.923-5.067-5.648-7.882 1.618 3.053 7.29 5.54 5.648 7.882z" transform="matrix(.93241 -.36139 .36139 .93241 -45.401 122.62)"/>
<path id="path997" d="m250.66 157.78c-1.663 1.73-4.962-6.484-5.072-9.48 1.099 4.067 6.931 7.345 5.072 9.48z" transform="matrix(.85194 -.52363 .52363 .85194 -48.246 179.19)"/>
<path id="path998" d="m250.35 157.83c-2.04 1.224-4.229-6.261-3.983-9.313 1.396 4.478 5.839 8.003 3.983 9.313z" transform="matrix(.85194 -.52363 .52363 .85194 -49.105 181.53)"/>
<path id="path1002" d="m251.31 157.15c2.336-1.256 1.88-2.356 1.566-5.653-1.666 2.73-3.097 3.567-1.566 5.653z" transform="matrix(.94971 -.31314 .31314 .94971 -44.025 104.06)"/>
<path id="path1003" d="m251.1 157.04c3.098 1.175 1.246-3.677 1.562-7.135-0.934 3.752-2.965 6.283-1.562 7.135z" transform="matrix(.94971 -.31314 .31314 .94971 -41.369 107.73)"/>
<path id="path1004" d="m250.97 156.67c2.341 0.226 2.729-3.064 2.29-7.348-0.983 4.148-3.943 5.756-2.29 7.348z" transform="matrix(.94971 -.31314 .31314 .94971 -39.025 111.25)"/>
<g id="g1862">
<path id="path999" d="m250.61 157.71c-2.085 1.745-4.517-6.761-4.218-9.23 1.36 4.09 5.727 7.888 4.218 9.23z" transform="matrix(.85194 -.52363 .52363 .85194 -48.48 184.74)"/>
<path id="path1000" d="m250.87 157.73c-2.185 1.685-5.272-6.352-5.564-9.873 1.813 4.919 7.334 7.959 5.564 9.873z" transform="matrix(.85194 -.52363 .52363 .85194 -44.808 188.88)"/>
<path id="path1001" d="m251.18 157.37c-2.816 2.488-5.904-6.145-6.25-9.653 2.057 5.343 8.086 7.779 6.25 9.653z" transform="matrix(.85194 -.52363 .52363 .85194 -40.902 193.41)"/>
<path id="path1005" d="m250.66 156.36c1.53 1.563 4.001-3.426 4.179-7.465-1.316 4.038-6.018 5.812-4.179 7.465z" transform="matrix(.94971 -.31314 .31314 .94971 -38.244 116.72)"/>
<path id="path1006" d="m250.88 157.58c1.999 1.389 3.157-4.485 2.47-8.769-1.441 3.545-4.212 6.449-2.47 8.769z" transform="matrix(.94971 -.31314 .31314 .94971 -35.509 120)"/>
<path id="path1007" d="m251.41 156.98c2.43 0.955 2.367-4.582 1.25-8.061-0.86 3.777-3.185 6.952-1.25 8.061z" transform="matrix(.94971 -.31314 .31314 .94971 -31.681 124.84)"/>
<path id="path1056" d="m247.98 153.48c-1.363 0.721-1.71-2.375-3.453-5.55 2.024 2.113 4.394 4.684 3.453 5.55z" transform="matrix(.85194 -.52363 .52363 .85194 -39.964 196.53)"/>
</g>
</g>
<g id="g1894" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1895" d="m250.84 158.3c-3.215 0.553-4.94-7.294-5.05-10.29 1.147 3.834 6.165 8.875 5.05 10.29z" transform="matrix(.93241 -.36139 .36139 .93241 -48.214 118.01)"/>
<path id="path1896" d="m250.7 157.48c-2.064 1.041-4.923-5.067-5.648-7.882 1.618 3.053 7.29 5.54 5.648 7.882z" transform="matrix(.93241 -.36139 .36139 .93241 -45.401 122.62)"/>
<path id="path1897" d="m250.66 157.78c-1.663 1.73-4.962-6.484-5.072-9.48 1.099 4.067 6.931 7.345 5.072 9.48z" transform="matrix(.85194 -.52363 .52363 .85194 -48.246 179.19)"/>
<path id="path1898" d="m250.35 157.83c-2.04 1.224-4.229-6.261-3.983-9.313 1.396 4.478 5.839 8.003 3.983 9.313z" transform="matrix(.85194 -.52363 .52363 .85194 -49.105 181.53)"/>
<path id="path1899" d="m251.31 157.15c2.336-1.256 1.88-2.356 1.566-5.653-1.666 2.73-3.097 3.567-1.566 5.653z" transform="matrix(.94971 -.31314 .31314 .94971 -44.025 104.06)"/>
<path id="path1900" d="m251.1 157.04c3.098 1.175 1.246-3.677 1.562-7.135-0.934 3.752-2.965 6.283-1.562 7.135z" transform="matrix(.94971 -.31314 .31314 .94971 -41.369 107.73)"/>
<path id="path1901" d="m250.97 156.67c2.341 0.226 2.729-3.064 2.29-7.348-0.983 4.148-3.943 5.756-2.29 7.348z" transform="matrix(.94971 -.31314 .31314 .94971 -39.025 111.25)"/>
<g id="g1902">
<path id="path1903" d="m250.61 157.71c-2.085 1.745-4.517-6.761-4.218-9.23 1.36 4.09 5.727 7.888 4.218 9.23z" transform="matrix(.85194 -.52363 .52363 .85194 -48.48 184.74)"/>
<path id="path1904" d="m250.87 157.73c-2.185 1.685-5.272-6.352-5.564-9.873 1.813 4.919 7.334 7.959 5.564 9.873z" transform="matrix(.85194 -.52363 .52363 .85194 -44.808 188.88)"/>
<path id="path1905" d="m251.18 157.37c-2.816 2.488-5.904-6.145-6.25-9.653 2.057 5.343 8.086 7.779 6.25 9.653z" transform="matrix(.85194 -.52363 .52363 .85194 -40.902 193.41)"/>
<path id="path1906" d="m250.66 156.36c1.53 1.563 4.001-3.426 4.179-7.465-1.316 4.038-6.018 5.812-4.179 7.465z" transform="matrix(.94971 -.31314 .31314 .94971 -38.244 116.72)"/>
<path id="path1907" d="m250.88 157.58c1.999 1.389 3.157-4.485 2.47-8.769-1.441 3.545-4.212 6.449-2.47 8.769z" transform="matrix(.94971 -.31314 .31314 .94971 -35.509 120)"/>
<path id="path1908" d="m251.41 156.98c2.43 0.955 2.367-4.582 1.25-8.061-0.86 3.777-3.185 6.952-1.25 8.061z" transform="matrix(.94971 -.31314 .31314 .94971 -31.681 124.84)"/>
<path id="path1909" d="m247.98 153.48c-1.363 0.721-1.71-2.375-3.453-5.55 2.024 2.113 4.394 4.684 3.453 5.55z" transform="matrix(.85194 -.52363 .52363 .85194 -39.964 196.53)"/>
</g>
</g>
<g id="g1534" stroke-linejoin="round" fill-rule="evenodd" transform="translate(-.11049 199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path898" d="m250.28 153.28c2.433-1.8 0.577-5.167 0-8.369-0.783 3.037-2.844 7.022 0 8.369z"/>
<path id="path899" d="m250.2 157.78c-3.655-0.439-3.105-5.166-3.215-8.162 1.099 4.067 4.095 4.754 3.215 8.162z"/>
<path id="path900" d="m250.78 157.16c3.092-0.179 2.928-3.697 3.093-7.256-1.567 3.271-3.423 3.779-3.093 7.256z"/>
<path id="path901" d="m250.66 161.53c-2.405 0.192-3.655-2.171-4.205-5.854 2.281 3.394 4.356 2.336 4.205 5.854z"/>
<path id="path902" d="m251.52 161.24c3.092 0.398 2.598-3.202 2.474-5.855-0.948 2.529-3.463 3.326-2.474 5.855z"/>
<path id="path903" d="m246.7 159.72c0.247 2.35 1.732 6.39 4.123 5.483 0.989-2.886-2.103-3.463-4.123-5.483z"/>
<path id="path904" d="m251.56 165.45c-1.072-2.061 2.432-3.093 3.174-5.772 0.426 3.834 0.069 6.349-3.174 5.772z"/>
</g>
<g id="g1542" fill-rule="evenodd" transform="translate(-.11049 199.5)" fill="#fff">
<path id="path1543" d="m250.28 153.28c2.433-1.8 0.577-5.167 0-8.369-0.783 3.037-2.844 7.022 0 8.369z"/>
<path id="path1544" d="m250.2 157.78c-3.655-0.439-3.105-5.166-3.215-8.162 1.099 4.067 4.095 4.754 3.215 8.162z"/>
<path id="path1545" d="m250.78 157.16c3.092-0.179 2.928-3.697 3.093-7.256-1.567 3.271-3.423 3.779-3.093 7.256z"/>
<path id="path1546" d="m250.66 161.53c-2.405 0.192-3.655-2.171-4.205-5.854 2.281 3.394 4.356 2.336 4.205 5.854z"/>
<path id="path1547" d="m251.52 161.24c3.092 0.398 2.598-3.202 2.474-5.855-0.948 2.529-3.463 3.326-2.474 5.855z"/>
<path id="path1548" d="m246.7 159.72c0.247 2.35 1.732 6.39 4.123 5.483 0.989-2.886-2.103-3.463-4.123-5.483z"/>
<path id="path1549" d="m251.56 165.45c-1.072-2.061 2.432-3.093 3.174-5.772 0.426 3.834 0.069 6.349-3.174 5.772z"/>
</g>
<g id="g1510" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0 199.39)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path943" d="m250.28 153.28c1.925-2.073 0.225-5.362-0.352-8.564-0.783 3.037-2.14 7.061 0.352 8.564z" transform="translate(-8.8046 -12.153)"/>
<path id="path944" d="m250.9 158.01c-3.381 0.343-4.199-6.533-4.543-9.49 1.099 4.067 4.993 5.926 4.543 9.49z" transform="translate(-9.4866 -13.021)"/>
<path id="path945" d="m250.86 157.08c2.389-1.234 1.834-3.892 2.585-5.889-1.606 2.451-3.071 2.802-2.585 5.889z" transform="translate(-8.7426 -12.153)"/>
<path id="path946" d="m251.06 158.17c-3.537 0.303-5.644-7.315-5.754-10.311 1.099 4.067 6.166 6.278 5.754 10.311z" transform="translate(-9.6106 -8.7426)"/>
<path id="path947" d="m250.74 157c3.326-0.765 2.928-2.916 2.429-6.397-1.059 3.506-2.915 2.763-2.429 6.397z" transform="translate(-8.6185 -7.6885)"/>
<path id="path948" d="m250.89 161.45c-3.889 0.66-3.616-5.492-6.704-9.955 2.671 3.315 7.48 7.492 6.704 9.955z" transform="translate(-9.4866 -7.6265)"/>
<path id="path949" d="m251.52 161.24c2.936 0.085 3.223-4.335 3.06-6.128-0.675 1.786-4.127 3.482-3.06 6.128z" transform="translate(-9.2386 -7.6265)"/>
<path id="path951" d="m244.63 155.97c1.458 4.733 3.529 9.476 6.076 9.116 1.223-2.691-2.416-3.034-6.076-9.116z" transform="translate(-9.3006 -6.8824)"/>
<path id="path952" d="m251.56 165.45c-1.072-2.061 2.432-3.093 3.174-5.772 0.426 3.834 0.069 6.349-3.174 5.772z" transform="translate(-9.2386 -7.9365)"/>
<path id="path953" d="m245.14 156.79c2.082 4.264 3.021 9.164 5.88 8.452 1.067-3.316-3.157-4.01-5.88-8.452z" transform="translate(-8.8046 -2.2942)"/>
<path id="path954" d="m251.48 165.49c-1.228-2.256 2.276-3.054 3.135-6.163 0.465 4.069 0.03 6.974-3.135 6.163z" transform="translate(-8.6806 -3.3482)"/>
</g>
<g id="g1522" fill-rule="evenodd" transform="translate(0 199.39)" fill="#fff">
<path id="path1523" d="m250.28 153.28c1.925-2.073 0.225-5.362-0.352-8.564-0.783 3.037-2.14 7.061 0.352 8.564z" transform="translate(-8.8046 -12.153)"/>
<path id="path1524" d="m250.9 158.01c-3.381 0.343-4.199-6.533-4.543-9.49 1.099 4.067 4.993 5.926 4.543 9.49z" transform="translate(-9.4866 -13.021)"/>
<path id="path1525" d="m250.86 157.08c2.389-1.234 1.834-3.892 2.585-5.889-1.606 2.451-3.071 2.802-2.585 5.889z" transform="translate(-8.7426 -12.153)"/>
<path id="path1526" d="m251.06 158.17c-3.537 0.303-5.644-7.315-5.754-10.311 1.099 4.067 6.166 6.278 5.754 10.311z" transform="translate(-9.6106 -8.7426)"/>
<path id="path1527" d="m250.74 157c3.326-0.765 2.928-2.916 2.429-6.397-1.059 3.506-2.915 2.763-2.429 6.397z" transform="translate(-8.6185 -7.6885)"/>
<path id="path1528" d="m250.89 161.45c-3.889 0.66-3.616-5.492-6.704-9.955 2.671 3.315 7.48 7.492 6.704 9.955z" transform="translate(-9.4866 -7.6265)"/>
<path id="path1529" d="m251.52 161.24c2.936 0.085 3.223-4.335 3.06-6.128-0.675 1.786-4.127 3.482-3.06 6.128z" transform="translate(-9.2386 -7.6265)"/>
<path id="path1530" d="m244.63 155.97c1.458 4.733 3.529 9.476 6.076 9.116 1.223-2.691-2.416-3.034-6.076-9.116z" transform="translate(-9.3006 -6.8824)"/>
<path id="path1531" d="m251.56 165.45c-1.072-2.061 2.432-3.093 3.174-5.772 0.426 3.834 0.069 6.349-3.174 5.772z" transform="translate(-9.2386 -7.9365)"/>
<path id="path1532" d="m245.14 156.79c2.082 4.264 3.021 9.164 5.88 8.452 1.067-3.316-3.157-4.01-5.88-8.452z" transform="translate(-8.8046 -2.2942)"/>
<path id="path1533" d="m251.48 165.49c-1.228-2.256 2.276-3.054 3.135-6.163 0.465 4.069 0.03 6.974-3.135 6.163z" transform="translate(-8.6806 -3.3482)"/>
</g>
<path id="path922" d="m248.8 332.67c2.052 0.555 4.204-1.749 3.458-5.197-2.345 0.584-3.421 2.713-3.458 5.197z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path1039" d="m242.23 330.94c0.179 0.97 1.359 1.058 1.016-0.312-0.286-1.112-0.335-1.948 0-2.852 0.459-1.133 0.306-3.062-0.039-3.867-0.348-0.85-1.501-0.352-1.016 0.313 0.534 0.771 0.562 2.375 0.195 3.124-0.483 1.106-0.352 2.574-0.156 3.594z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2012" d="m248.8 332.67c2.052 0.555 4.204-1.749 3.458-5.197-2.345 0.584-3.421 2.713-3.458 5.197z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2013" d="m242.23 330.94c0.179 0.97 1.359 1.058 1.016-0.312-0.286-1.112-0.335-1.948 0-2.852 0.459-1.133 0.306-3.062-0.039-3.867-0.348-0.85-1.501-0.352-1.016 0.313 0.534 0.771 0.562 2.375 0.195 3.124-0.483 1.106-0.352 2.574-0.156 3.594z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2015" d="m249.33 327.25c-0.19451 1.515-1.4768 1.6524-1.1041-0.48729 0.31079-1.7368 0.36404-3.0424 0-4.4544-0.49878-1.7696-0.33252-4.7823 0.0424-6.0396 0.37817-1.3276 1.6311-0.54977 1.1041 0.48885-0.58029 1.2042-0.61071 3.7094-0.2119 4.8792 0.52487 1.7274 0.38251 4.0202 0.16952 5.6132z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<path id="path2022" d="m258.88 342.39c-0.79276 1.1662-2.0564 0.48933-1.3404-1.383 0.60459-1.2963 0.66944-2.9027 1.3428-3.8506 0.94174-1.4369 2.537-2.6344 3.4425-3.5034 0.93559-0.9258 1.7123-0.0336 0.85439 0.75965-1.0418 1.0424-2.172 2.3399-2.8001 3.3226-1.1714 1.9092-0.65572 3.4324-1.4991 4.6548z" fill-rule="evenodd" stroke="#000" stroke-width="0.5" fill="#fff"/>
<g id="g2031" fill-rule="evenodd" fill="#fff" transform="translate(-3.594 199.42)">
<path id="path2021" d="m242.54 131.62c0.179 0.97 1.484 0.926 1.141-0.444-0.286-1.112-0.933-2.181-0.598-3.085 0.459-1.133 0.571-3.079 0.226-3.884-0.348-0.85-1.47-0.28-0.985 0.385 0.534 0.771 0.114 2.925-0.253 3.674-0.483 1.106 0.273 2.334 0.469 3.354z" transform="matrix(-1.2604 -.50286 -.58469 1.2951 647.61 96.354)" stroke="#000" stroke-width=".36026"/>
<path id="path2027" d="m242.54 131.62c0.179 0.97 1.484 0.926 1.141-0.444-0.286-1.112-0.933-2.181-0.598-3.085 0.459-1.133 0.571-3.079 0.226-3.884-0.348-0.85-1.47-0.28-0.985 0.385 0.534 0.771 0.114 2.925-0.253 3.674-0.483 1.106 0.273 2.334 0.469 3.354z" transform="matrix(-1.2604 -.50286 -.58469 1.2951 647.61 96.354)" stroke-width="1pt"/>
</g>
<path id="path2034" d="m258.88 342.39c-0.79276 1.1662-2.0564 0.48933-1.3404-1.383 0.60459-1.2963 0.66944-2.9027 1.3428-3.8506 0.94174-1.4369 2.537-2.6344 3.4425-3.5034 0.93559-0.9258 1.7123-0.0336 0.85439 0.75965-1.0418 1.0424-2.172 2.3399-2.8001 3.3226-1.1714 1.9092-0.65572 3.4324-1.4991 4.6548z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<g id="g2044" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path2043" d="m242.23 131.78c-0.094 0.784 1.231 0.974 1.172-0.163-0.06-1.187-1.824-2.273-0.742-4.08 0.569-0.884 0.579-2.504 0.234-3.365-0.303-0.854-1.579-0.296-1.094 0.369 0.534 0.771-0.1 2.25-0.508 2.994-1.225 2.166 1.01 3.221 0.938 4.245z" transform="matrix(1 0 0 2.0999 3.4767 -139.85)" stroke="#000" stroke-width=".34504"/>
<path id="path2014" d="m242.23 131.78c-0.094 0.784 1.231 0.974 1.172-0.163-0.06-1.187-1.824-2.273-0.742-4.08 0.569-0.884 0.579-2.504 0.234-3.365-0.303-0.854-1.579-0.296-1.094 0.369 0.534 0.771-0.1 2.25-0.508 2.994-1.225 2.166 1.01 3.221 0.938 4.245z" transform="matrix(1 0 0 2.0999 3.4767 -139.85)"/>
</g>
<path id="path2047" d="m249.33 327.25c-0.19451 1.515-1.4768 1.6524-1.1041-0.48729 0.31079-1.7368 0.36404-3.0424 0-4.4544-0.49878-1.7696-0.33252-4.7823 0.0424-6.0396 0.37817-1.3276 1.6311-0.54977 1.1041 0.48885-0.58029 1.2042-0.61071 3.7094-0.2119 4.8792 0.52487 1.7274 0.38251 4.0202 0.16952 5.6132z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2051" d="m236.3 358.23c0.63456 0.75517 1.7042 0.24913 0.72951-0.77292-0.79772-0.82583-0.53515-1.0864-1.0213-2.0926-0.48071-1.1242-0.45566-1.7445-1.0359-2.5477-0.51311-0.76202-1.2849 0.0154-0.76788 0.65672 0.64906 0.75844 0.46988 1.3178 0.86685 2.0515 0.7335 1.2556 0.55465 1.9148 1.2287 2.705z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2052" d="m253.37 378.84c2.042 1.004 3.592 3.512 3.694 5.555 0.173 2.351 0.512 4.336 1.568 6.007-1.681-0.468-2.486-3.147-2.725-5.713-0.242-2.656-1.673-3.808-2.537-5.849z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2053" d="m257.63 383.76c1.413 2.6083 3.389 3.6031 3.49 5.5387 0.17118 2.2274 0.34039 2.3411 0.94398 4.5316-1.6634-0.4434-2.0819-0.58836-2.5312-3.9214-0.27706-2.3421-2.1522-3.9944-1.9028-6.1489z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path1093" d="m334.74 427.43c0.039 0.989 0.157 1.784 0.743 2.578-3.412-1.367-8.229-0.635-11.524 0.899-1.47 0.702-3.248-0.802-1.524-2.227 2.452-1.987 8.125-0.86 12.305-1.25zm-48.136-0.052c0.048 0.932-0.06 1.786-0.403 2.6 3.709-1.536 7.691-0.26 11.438 1.251 2.576 1.065 2.784-0.779 2.329-1.417-0.782-1.132-2.295-2.375-4.209-2.402-1.274-0.018-6.179-0.062-9.155-0.032zm3.131-18.116c-1.035-0.446-2.237-0.017-3.315 1.118-3.622 3.549-7.872 7.007-11.302 9.697-1.28 1.112-2.588 3.107 2.872 5.101 0.198 0.075 4.178 1.55 6.7 1.644 1.03-0.029 1.027 1.509 0.836 1.919-0.435 0.819-0.12 1.132-0.999 1.92-0.916 0.773 0.098 1.774 0.818 1.094 3.074-2.669 8.059-0.961 12.863 0.601 1.135 0.314 3.212 0.226 3.194-1.34 0.02-1.706 1.256-2.912 2.012-2.956 1.961 0.34 11.651 0.448 14.636 0.085 1.74-0.226 1.845 2.384 2.776 3.413 0.642 0.682 3.113 0.863 4.807 0.115 3.349-1.556 8.452-1.556 10.532-0.069 0.855 0.651 1.53 0.123 1.044-0.538-0.626-0.904-0.612-1.323-0.923-2.037-0.781-1.589-0.158-1.978 0.661-2.093 9.253-1.193 12.206-4.35 9.377-6.924-3.653-3.204-7.72-6.425-11.224-10.211-0.95-1.004-1.578-1.407-3.555-0.585-6.045 2.753-13.718 4.76-21.227 4.907-6.987 0.06-16.594-3.172-20.583-4.861z" fill-rule="evenodd" fill-opacity=".18493" stroke="#000" stroke-width=".5"/>
<path id="path2056" d="m334.74 427.43c0.039 0.989 0.157 1.784 0.743 2.578-3.412-1.367-8.229-0.635-11.524 0.899-1.47 0.702-3.248-0.802-1.524-2.227 2.452-1.987 8.125-0.86 12.305-1.25zm-48.136-0.052c0.048 0.932-0.06 1.786-0.403 2.6 3.709-1.536 7.691-0.26 11.438 1.251 2.576 1.065 2.784-0.779 2.329-1.417-0.782-1.132-2.295-2.375-4.209-2.402-1.274-0.018-6.179-0.062-9.155-0.032zm3.131-18.116c-1.035-0.446-2.237-0.017-3.315 1.118-3.622 3.549-7.872 7.007-11.302 9.697-1.28 1.112-2.588 3.107 2.872 5.101 0.198 0.075 4.178 1.55 6.7 1.644 1.03-0.029 1.027 1.509 0.836 1.919-0.435 0.819-0.12 1.132-0.999 1.92-0.916 0.773 0.098 1.774 0.818 1.094 3.074-2.669 8.059-0.961 12.863 0.601 1.135 0.314 3.212 0.226 3.194-1.34 0.02-1.706 1.256-2.912 2.012-2.956 1.961 0.34 11.651 0.448 14.636 0.085 1.74-0.226 1.845 2.384 2.776 3.413 0.642 0.682 3.113 0.863 4.807 0.115 3.349-1.556 8.452-1.556 10.532-0.069 0.855 0.651 1.53 0.123 1.044-0.538-0.626-0.904-0.612-1.323-0.923-2.037-0.781-1.589-0.158-1.978 0.661-2.093 9.253-1.193 12.206-4.35 9.377-6.924-3.653-3.204-7.72-6.425-11.224-10.211-0.95-1.004-1.578-1.407-3.555-0.585-6.045 2.753-13.718 4.76-21.227 4.907-6.987 0.06-16.594-3.172-20.583-4.861z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<g id="g2095" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path973" d="m368.23 155.51c0.419 1.443 6.19-1.194 9.123-6.963-3.841 4.188-10.058 4.147-9.123 6.963z" transform="translate(-14.439 36.636)" stroke="#000" stroke-width=".5"/>
<path id="path2094" d="m368.23 155.51c0.419 1.443 6.19-1.194 9.123-6.963-3.841 4.188-10.058 4.147-9.123 6.963z" transform="translate(-14.439 36.636)" stroke-width="1pt"/>
</g>
<g id="g2091" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path1054" d="m253.45 178.87c1.695 2.578 3.958 4.444 4.06 6.487 0.173 2.351 0.344 2.471 0.954 4.783-1.681-0.468-2.104-0.621-2.558-4.139-0.28-2.472-2.708-4.857-2.456-7.131z" transform="matrix(-1.0366 0 0 .94744 626.13 13.902)" stroke="#000" stroke-width=".50454"/>
<path id="path2090" d="m253.45 178.87c1.695 2.578 3.958 4.444 4.06 6.487 0.173 2.351 0.344 2.471 0.954 4.783-1.681-0.468-2.104-0.621-2.558-4.139-0.28-2.472-2.708-4.857-2.456-7.131z" transform="matrix(-1.0366 0 0 .94744 626.13 13.902)" stroke-width="1pt"/>
</g>
<g id="g2087" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path1053" d="m254.38 180.28c2.042 1.004 2.506 2.667 2.587 4.726 0.04 2.384 0.617 4.226 1.673 5.897-2.103 0.305-2.486-3.147-2.725-5.713-0.242-2.656-0.671-2.869-1.535-4.91z" transform="matrix(-1.0476 0 0 1 632.74 -.27458)" stroke="#000" stroke-width=".48851"/>
<path id="path2086" d="m254.38 180.28c2.042 1.004 2.506 2.667 2.587 4.726 0.04 2.384 0.617 4.226 1.673 5.897-2.103 0.305-2.486-3.147-2.725-5.713-0.242-2.656-0.671-2.869-1.535-4.91z" transform="matrix(-1.0476 0 0 1 632.74 -.27458)" stroke-width="1pt"/>
</g>
<g id="g2135" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1045" d="m242.23 131.44c0.179 0.97 1.359 1.058 1.016-0.312-0.286-1.112-0.335-1.948 0-2.852 0.459-1.133 0.306-3.062-0.039-3.867-0.348-0.85-1.501-0.352-1.016 0.313 0.534 0.771 0.562 2.375 0.195 3.124-0.483 1.106-0.352 2.574-0.156 3.594z" transform="matrix(1.0696 0 0 1.5618 113.14 -77.646)" stroke="#000" stroke-width=".38685"/>
<path id="path2134" d="m242.23 131.44c0.179 0.97 1.359 1.058 1.016-0.312-0.286-1.112-0.335-1.948 0-2.852 0.459-1.133 0.306-3.062-0.039-3.867-0.348-0.85-1.501-0.352-1.016 0.313 0.534 0.771 0.562 2.375 0.195 3.124-0.483 1.106-0.352 2.574-0.156 3.594z" transform="matrix(1.0696 0 0 1.5618 113.14 -77.646)"/>
</g>
<g id="g2139" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1044" d="m242.23 131.78c-0.094 0.784 1.231 0.974 1.172-0.163-0.06-1.187-1.824-2.273-0.742-4.08 0.569-0.884 0.579-2.504 0.234-3.365-0.303-0.854-1.579-0.296-1.094 0.369 0.534 0.771-0.1 2.25-0.508 2.994-1.225 2.166 1.01 3.221 0.938 4.245z" transform="matrix(-.98429 0 0 2.0999 614.23 -139.96)" stroke="#000" stroke-width=".34779"/>
<path id="path2138" d="m242.23 131.78c-0.094 0.784 1.231 0.974 1.172-0.163-0.06-1.187-1.824-2.273-0.742-4.08 0.569-0.884 0.579-2.504 0.234-3.365-0.303-0.854-1.579-0.296-1.094 0.369 0.534 0.771-0.1 2.25-0.508 2.994-1.225 2.166 1.01 3.221 0.938 4.245z" transform="matrix(-.98429 0 0 2.0999 614.23 -139.96)"/>
</g>
<g id="g2143" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1043" d="m242.23 131.44c0.179 0.97 1.359 1.058 1.016-0.312-0.286-1.112-0.335-1.948 0-2.852 0.459-1.133 0.306-3.062-0.039-3.867-0.348-0.85-1.501-0.352-1.016 0.313 0.534 0.771 0.562 2.375 0.195 3.124-0.483 1.106-0.352 2.574-0.156 3.594z" transform="matrix(-.98429 0 0 1 617.65 -.11047)" stroke="#000" stroke-width=".50397"/>
<path id="path2142" d="m242.23 131.44c0.179 0.97 1.359 1.058 1.016-0.312-0.286-1.112-0.335-1.948 0-2.852 0.459-1.133 0.306-3.062-0.039-3.867-0.348-0.85-1.501-0.352-1.016 0.313 0.534 0.771 0.562 2.375 0.195 3.124-0.483 1.106-0.352 2.574-0.156 3.594z" transform="matrix(-.98429 0 0 1 617.65 -.11047)"/>
</g>
<g id="g2147" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1057" d="m357.77 126.77c-1.008 1.557-5.555-1.226-4.714-2.894 0.869-0.972 5.751 1.078 4.714 2.894z" transform="matrix(.82827 .56032 -.56032 .82827 146.81 -172.24)" stroke="#000" stroke-width=".5"/>
<path id="path2146" d="m357.77 126.77c-1.008 1.557-5.555-1.226-4.714-2.894 0.869-0.972 5.751 1.078 4.714 2.894z" transform="matrix(.82827 .56032 -.56032 .82827 146.81 -172.24)"/>
</g>
<g id="g2155" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1047" d="m242.22 131.74c0.179 0.97 1.234 0.857 1.321-0.555-0.013-1.006 0.431-2.074 0.266-2.87-0.197-1.186-0.906-2.386-1.251-3.191-0.348-0.85-1.141-0.469-0.805 0.274 0.384 0.954 0.75 2.098 0.874 2.905 0.208 1.555-0.601 2.417-0.405 3.437z" transform="matrix(1.2161 -.50286 .56418 1.2951 -6.3705 94.028)" stroke="#000" stroke-width=".36675"/>
<path id="path2154" d="m242.22 131.74c0.179 0.97 1.234 0.857 1.321-0.555-0.013-1.006 0.431-2.074 0.266-2.87-0.197-1.186-0.906-2.386-1.251-3.191-0.348-0.85-1.141-0.469-0.805 0.274 0.384 0.954 0.75 2.098 0.874 2.905 0.208 1.555-0.601 2.417-0.405 3.437z" transform="matrix(1.2161 -.50286 .56418 1.2951 -6.3705 94.028)"/>
</g>
<g id="g2160" fill-rule="evenodd" transform="translate(0,199.5)" fill="#fff">
<path id="path1046" d="m242.54 131.62c0.179 0.97 1.484 0.926 1.141-0.444-0.286-1.112-0.933-2.181-0.598-3.085 0.459-1.133 0.571-3.079 0.226-3.884-0.348-0.85-1.47-0.28-0.985 0.385 0.534 0.771 0.114 2.925-0.253 3.674-0.483 1.106 0.273 2.334 0.469 3.354z" transform="matrix(1.2161 -.50286 .56418 1.2951 -8.7924 95.591)" stroke="#000" stroke-width=".36675"/>
<path id="path2159" d="m242.54 131.62c0.179 0.97 1.484 0.926 1.141-0.444-0.286-1.112-0.933-2.181-0.598-3.085 0.459-1.133 0.571-3.079 0.226-3.884-0.348-0.85-1.47-0.28-0.985 0.385 0.534 0.771 0.114 2.925-0.253 3.674-0.483 1.106 0.273 2.334 0.469 3.354z" transform="matrix(1.2161 -.50286 .56418 1.2951 -8.7924 95.591)"/>
</g>
<path id="path1071" stroke-linejoin="round" d="m293.29 397.78c2.318 1.85 4.503 3.95 5.157 6.563 0.682 2.434 1.094 4.297 2.657 6.719-2.448-1.563-3.42-3.924-4.141-6.486-0.633-2.517-2.084-4.399-3.673-6.796z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2163" d="m293.29 397.78c2.318 1.85 4.503 3.95 5.157 6.563 0.682 2.434 1.094 4.297 2.657 6.719-2.448-1.563-3.42-3.924-4.141-6.486-0.633-2.517-2.084-4.399-3.673-6.796z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2167" d="m290.64 397.78c2.162 1.771 3.565 3.793 4.219 6.406 0.682 2.434 1.641 4.375 3.048 6.563-2.292-1.563-3.733-3.689-4.454-6.251-0.633-2.518-1.38-4.4-2.813-6.718z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2168" d="m331.11 397.78c-2.21 1.7814-3.6441 3.8153-4.3126 6.4437-0.69713 2.4483-1.6774 4.4007-3.1156 6.6016 2.3428-1.5722 3.8158-3.7107 4.5528-6.2878 0.64704-2.5328 1.4106-4.4259 2.8754-6.7575z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2169" d="m328.39 397.78c-2.3694 1.8609-4.6029 3.9732-5.2714 6.6016-0.69713 2.4483-1.1183 4.3223-2.7159 6.7585 2.5023-1.5722 3.4959-3.9471 4.2329-6.5242 0.64704-2.5318 2.1302-4.4249 3.7545-6.836z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2170" d="m320.54 403.95c0.0637-0.457-0.24784-0.856-0.62208-0.976-0.72858-0.274-1.4542-0.497-2.1768-0.703-0.82114-0.195-1.281 0.394-1.284 0.781-0.004 0.644-0.0338 1.191 0 1.679 0.0448 0.608 0.16025 0.653 0.54444 0.743 0.61511 0.104 1.4034 0.21 2.0215 0.625 0.4897 0.302 0.96049 0.063 1.2053-0.468 0.15826-0.406 0.24485-1.2 0.31154-1.681z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2171" d="m311.69 403.95c-0.0569-0.457 0.18318-0.895 0.51752-1.015 0.65091-0.274 1.2991-0.341 1.983-0.313 0.75938-0.012 0.95056 0.16 0.95323 0.547 0.004 0.644 0.0302 1.269 0 1.757-0.04 0.608-0.0267 0.653-0.36991 0.743-0.54953 0.104-1.4868 0.132-2.039 0.547-0.4375 0.302-0.93634 0.063-0.96035-0.507 0.0107-0.43-0.0249-1.278-0.0845-1.759z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2172" d="m300.95 403.83c-0.064-0.457 0.249-0.856 0.625-0.976 0.732-0.274 1.461-0.497 2.187-0.703 0.825-0.195 1.287 0.394 1.29 0.781 0.004 0.644 0.034 1.191 0 1.679-0.045 0.608-0.161 0.653-0.547 0.743-0.618 0.104-1.41 0.21-2.031 0.625-0.492 0.302-0.965 0.063-1.211-0.468-0.159-0.406-0.246-1.2-0.313-1.681z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2173" d="m309.84 403.83c0.0572-0.457-0.18404-0.895-0.51995-1.015-0.65396-0.274-1.3052-0.341-1.9922-0.313-0.76295-0.012-0.95503 0.16-0.95771 0.547-0.004 0.644-0.0304 1.269 0 1.757 0.0402 0.608 0.0268 0.653 0.37165 0.743 0.55211 0.104 1.4937 0.132 2.0485 0.547 0.43955 0.302 0.94074 0.063 0.96486-0.507-0.0107-0.43 0.025-1.278 0.0849-1.759z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2174" d="m301.61 407.89c0.794 1.497 1.706 3.776 3.359 3.359 0.026-1.146-1.784-1.94-3.359-3.359z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2175" d="m304.08 408.4c3.2104 1.316 5.9828 0.991 6.3282 3.009-3.0118 0.325-4.1132-0.912-6.3282-3.009z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2176" d="m319.82 408.09c-0.80485 1.4112-1.7293 3.5597-3.4049 3.1666-0.0264-1.0803 1.8084-1.8288 3.4049-3.1666z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2177" d="m317.57 408.52c-3.2572 1.2488-6.0699 0.9404-6.4204 2.8554 3.0556 0.30841 4.1731-0.86543 6.4204-2.8554z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2178" d="m327.18 376.52 6.993 0.001c0.026 2.643 1.575 5.482 3.75 7.109h-13.4c2.097-1.901 2.67-4.154 2.657-7.11z" fill-opacity=".53425" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2179" d="m327.18 376.52 6.993 0.001c0.026 2.643 1.575 5.482 3.75 7.109h-13.4c2.097-1.901 2.67-4.154 2.657-7.11z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path2183" d="m277.29 419.26c-0.385 0.294-0.359 1.176 0.39 1.484 6.985 2.506 13.728 7.137 33.128 6.954 19.586-0.185 26.469-4.704 32.737-6.797 0.835-0.318 1.621-0.965 0.547-1.875-3.522-2.879-7.329-5.193-9.845-8.751-0.446-0.64-1.665-0.277-2.422 0-7.476 2.626-14.383 4.466-21.564 4.453-7.012-0.013-14.321-1.944-20.9-4.648-0.63-0.269-1.662 0.034-2.149 0.507-3.053 3.041-6.373 5.992-9.922 8.673z" stroke="#000" stroke-width=".25" fill="none"/>
<path id="path2184" d="m286.7 414.45c-0.841-0.542-1.22 0.163-0.625 0.899 0.772 0.847 2.021 1.357 3.32 1.719 0.758 0.211 2.323-0.055 3.126 0.039 0.625 0.078 0.978 1.339 2.11 1.289 1.142-0.049 1.875-3.086 1.914-4.61 0.052-1.01-1.344-0.365-1.211 0.04 0.366 1.004-0.304 3.244-1.016 3.242-0.524-0.032-1.086-1.118-1.875-1.25-0.617-0.102-1.553 0.072-2.188 0.078-1.857 0.018-2.657-0.908-3.555-1.446z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2185" d="m288.27 413.63c0.991 0.495 1.857-0.391 2.423 0.235 1.446 1.641 3.306-0.786 1.133-0.703-0.879 0.034-1.016-0.665-2.54-0.509-0.811 0.104-1.49 0.701-1.016 0.977z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2186" d="m288.5 420.82c-0.783-0.342-1.046 0.402-0.586 0.86 0.646 0.59 3.329 0.825 3.985 0.352 1.085-0.823 0.292-2.985-0.195-3.595-0.304-0.371-1.22-0.399-0.86 0.587 0.149 0.457 0.815 1.594 0.273 2.109-0.496 0.474-1.868-0.001-2.617-0.313z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2187" d="m294.52 421.48c0.172-0.441-0.292-1.201-1.095-0.313-0.663 0.7-0.125 3.651 1.993 4.18 2.07 0.508 3.621-0.236 3.906-1.367 0.197-0.753-0.937-1.407-0.351-2.071 0.489-0.519 1.433 0.006 1.836-0.82 0.236-0.463 0.255-1.412-1.016-2.032-0.551-0.277-1.505 0.355-1.485 0.821 0.03 0.641 1.023 0.223 0.664 0.781-0.262 0.425-1.435 0.248-1.796 1.25-0.216 0.637 1.328 1.813 0.508 2.11-0.732 0.253-1.686 0.417-2.657-0.117-0.6-0.318-0.855-1.634-0.507-2.422z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2188" d="m287.06 417.42c-0.492 0.072-1.171 0.43-1.21 1.016-0.03 0.47 0.357 1.284 1.016 0.741 0.68-0.528 0.158-0.778 0.312-0.586 0.339 0.339-0.158 0.367-0.781 1.212-0.434 0.641-1.361 0.538-1.836 0.312-0.82-0.423-0.513-0.694-1.407-1.094-0.893-0.439-1.434 0.591-0.586 1.055 0.937 0.537 2.472 1.61 3.985 0.821 0.899-0.508 1.953-0.971 1.914-2.11-0.051-0.74-0.38-1.511-1.407-1.367z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2192" d="m335.65 417.03c-0.691-0.494-0.268-1.39 0.743-1.055 0.86 0.318 2.288 1.331 2.382 2.657 0.107 1.45-2.23 2.511-3.124 2.462-1.531-0.124-1.258-1.338-0.118-1.251 0.884 0.064 1.97-0.251 2.032-1.172 0.052-0.799-1.417-1.264-1.915-1.641z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2193" d="m330.61 413.48c-0.893-0.901 0.976-1.875 1.523-0.781 0.721 1.391 1.579 2.76 2.227 4.297 0.516 1.261-0.161 1.432-0.586 0.742-0.711-1.2-1.788-2.806-3.164-4.258z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2194" d="m326.24 416.17c0.961-0.418 0.937 0.781 0.586 1.016-0.635 0.353-1.485-0.586-0.586-1.016z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2195" d="m329.09 415.12c0.961-0.418 0.937 0.781 0.586 1.016-0.635 0.353-1.485-0.586-0.586-1.016z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2196" d="m299.28 416.8c-1.442-0.921 0.293-2.295 1.289-1.25 1.427 1.457 2.791 4.65 3.868 5.86 1.024 1.189 0.199-3.224 0.508-4.532 0.211-0.727 0.779-0.625 0.781 0.078 0.005 1.798-0.272 5.456 0.195 5.743 0.874 0.497 0.716 1.308 1.445 1.172 0.782-0.186 0.665-0.391 1.368-0.43 0.697 0 0.721 0.699 1.524 0.586 0.512-0.067 0.666-0.647 1.288-0.665 0.567-0.048 0.323 1.204-0.038 1.407-0.589 0.331-2.423-0.36-2.969-0.312-0.65 0.017-1.82 0.62-2.54 0.351-0.879-0.314-0.684-1.428-1.289-1.25-0.685 0.158-0.556 1.405-2.187 1.797-0.764 0.174-1.021-0.512-0.625-0.977 0.709-0.758 2.137-1.363 1.914-2.07-0.661-1.97-2.658-4.343-4.532-5.508z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2197" d="m311.82 417.07c0.693 2.28 0.659 5.312 1.055 7.384 0.195 0.815 0.975 0.089 0.899-0.547-0.307-2.225-0.442-4.956-1.016-7.071-0.238-0.732-1.203-0.59-0.938 0.234z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2198" d="m313.74 417.66c-0.183-0.951 0.727-1.04 0.86-0.47 0.469 1.835 0.409 6.034 1.328 6.173 1.586 0.181 3.81-0.147 5.782-0.547 0.97-0.193 1.169-0.895 1.133-1.173-0.186-1.128 0.867-1.039 1.133 0.157 0.143 0.624-0.14 1.743-1.328 1.992-2.321 0.448-5.516 1.139-7.345 0.742-1.602-0.339-1.08-4.475-1.563-6.874z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2199" d="m316.32 419.3c0.04-1.203 0.943-1.38 0.937-0.352 0.025 2.461 2.906 1.822 3.517 0.899 0.451-0.72 0.121-1.03-0.313-1.836-0.54-1.043 0.603-1.337 1.094-0.43 0.367 0.649 0.622 2.718-0.039 3.243-0.915 0.725-3.388 1.081-4.454 0.273-0.566-0.39-0.786-1.138-0.742-1.797z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2200" d="m315.07 416.09c0.128 0.771 2.226 0.508 2.148-0.078-0.072-0.504-2.265-0.391-2.148 0.078z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2201" d="m317.8 416.72c0.082 0.777 1.44 0.548 1.367-0.039-0.072-0.621-1.445-0.743-1.367 0.039z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2202" d="m321.9 415.78c-0.689-0.952 0.652-1.012 1.094-0.312 1.144 1.71 1.898 4.467 3.008 6.328 0.472 0.858 1.063 0.091 1.133-0.117 0.074-0.221-0.359-0.56-0.39-1.328-0.055-0.597 1.166-1.339 2.031-0.781 0.809 0.545 0.147 1.028 0.547 1.328 0.381 0.286 1.343 0.106 1.485-0.078 0.427-0.671-0.155-0.278-0.743-0.665-0.68-0.487-0.272-2.597 1.133-1.719 0.836 0.484 1.082 2.031 0.781 2.891-0.266 0.797-1.665 1.068-2.422 0.899-0.853-0.26-1.542-1.286-1.367-1.016 0.422 0.693-0.104 1.377-0.508 1.641-0.997 0.626-1.694 0.954-2.422-0.078-1.29-1.932-2-5.191-3.36-6.993z" fill-rule="evenodd" stroke-width="1pt"/>
<path id="path2789" d="m285.49 283.37c-0.057-1.1542 1.732-1.2423 1.527 0.3449-0.262 1.9774 3.732 6.9829 4.063 10.07 0.222 2.0698-1.216 3.8816-2.64 5.0092-1.746 1.3525-4.431 1.1665-5.687 0.3906-0.76-0.6117-1.453-2.7066-0.884-3.5358 0.201-0.2791 1.111 3.0746 3.115 3.0615 2.727-0.0176 4.936-2.0661 5.017-3.8931 0.14-3.1821-4.461-8.2114-4.511-11.447z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2791" d="m293.48 291.23c0.451-0.3223 1.171 1.0848 0.663 1.4364-0.423 0.2817-1.249-1.0458-0.663-1.4364z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2792" d="m294.68 288.38c-0.228 0.1106-0.681-0.0465-0.546-0.24 0.638-0.9115 1.998-2.2835 2.984-2.7624 0.303-0.1472 0.833 0.3876 0.65 0.6496-0.59 0.843-2.026 1.8373-3.088 2.3528z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2793" d="m305.23 280.01c0.253-0.5281 1.772-1.1251 2.159-1.4822 0.358-0.3665 0.529 0.3101 0.376 0.6295-0.253 0.5278-1.564 1.4192-2.139 1.4431-0.309 0.0129-0.549-0.2714-0.396-0.5904z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2794" d="m308.83 280.18c0.329-0.927 1.39-2.3322 2.12-2.7948 0.375-0.2372 1.048-0.0506 0.922 0.3047-0.279 0.7865-1.577 2.1607-2.45 2.8081-0.265 0.2358-0.668-0.1032-0.592-0.318z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2795" d="m305.74 282.5c-0.22 0.1101-0.101 0.5787 0.111 0.6495 0.451 0.1502 1.272 0.1795 1.644-0.0257 0.54-0.3328 0.294-2.3808-0.429-1.2868-0.485 0.6749-0.839 0.4581-1.326 0.663z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2797" d="m299.64 287.2c-1.103-0.859 0.297-2.0625 1.45-1.2222 2.246 1.6943-3.351 8.1851-6.396 11.219-0.557 0.5942-1.046-0.9024-0.332-1.5469 2.183-1.8517 4.227-4.0641 5.648-6.3496 0.274-0.44 0.536-1.3885-0.37-2.1004z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2798" d="m312.42 281.62c0.137-0.8221-1.33 0.0172-1.357-1.0726-0.014-0.5768 1.603-0.9815 2.279-0.318 1.142 1.1585 0.288 3.1126-1.611 3.2356-1.583 0.0699-4.224 2.2476-3.822 2.7054 0.457 0.5653 4.562 0.9386 6.949 0.5648 1.478-0.2074 1.168 1.1145-0.346 1.2935-1.463 0.1686-2.655 0.0123-4.022 0.442-1.609 0.4597-2.311 2.6194-3.205 3.4254-0.199 0.1401-0.736-0.7081-0.532-1.0269 0.644-1.0072 1.671-2.5488 2.801-2.9901 0.713-0.2888-1.966-0.3799-2.821-0.6239-0.678-0.2044-0.481-1.066-0.221-1.5469 0.345-0.7493 2.87-3.278 3.888-3.2367 0.956 0.0404 1.925-0.2379 2.02-0.8516z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2799" d="m316.68 281.84c0.475-0.419 0.718-1.1201 1.216-1.5469 0.273-0.2734 0.709 0.0542 0.636 0.7143-0.061 0.5197-0.759 0.9676-1.228 1.3583-0.382 0.2861-0.826-0.3318-0.624-0.5257z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2800" d="m322.09 279.91c0.707-0.0781 0.883 1.2868 0.11 1.5078-0.469 0.1563-0.879-1.4273-0.11-1.5078z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2801" d="m320.31 284.13c-0.011 1.175 0.569 1.0669 1.676 1.0268 1.074-0.0404 2.019 0.0277 2.015-1.0335-0.005-1.1-0.609-2.0623-0.786-1.3137-0.156 0.7032-0.28 1.8545-0.689 1.3528-0.386-0.4311-0.233-0.5256-0.897 0.1819-0.368 0.3899-0.41-0.189-0.631-0.5525-0.154-0.2153-0.687 0.1739-0.688 0.3382z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2802" d="m312.59 290.13c-0.264 1.555-0.022 3.7323 0.774 3.7569 0.984 0.032 3.02-3.3998 3.984-5.1799 0.578-0.9934 1.571-1.1671 1.157-0.1306-0.627 1.5992-0.571 5.0205-0.02 6.0259 0.296 0.5415 2.481-0.4966 2.834-1.2679 0.642-1.4018 0.12-3.9859 0.345-5.5639 0.109-1.036 1.057-1.2525 1.007-0.2923-0.094 1.718-0.257 4.8677-0.136 6.2982 0.072 0.8223 2.423 2.0358 2.801-0.4543 0.199-1.5674 1.006-3.113-0.039-4.8495-0.648-1.0857 0.951-0.9497 1.813 0.5335 0.603 1.0094-0.508 2.6799-0.469 3.9711 0.1 1.9865-1.445 3.1151-2.566 3.1386-1.002 0.0202-1.655-1.2106-2.476-1.2278-0.911-0.0581-1.847 1.4172-2.6 1.365-2.918-0.1994-1.373-4.4646-2.262-4.5169-0.989-0.0582-2.155 4.1804-3.373 4.0292-1.201-0.1442-2.444-3.4545-1.944-4.8551 0.452-1.3031 1.304-1.6085 1.17-0.7802z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2803" d="m326.72 283.4c-1.424-0.8686 0.09-3.1274 0.786-2.3338 1.344 1.6096 2.699 5.4302 3.646 5.7458 0.6 0.2001 0.572-2.824 0.995-4.1988 0.273-1.0156 1.501-0.6841 1.266 0.6172-0.08 0.4345-1.604 5.3752-1.487 5.5705 1.056 2.1111 2.101 4.2534 2.762 6.5192 0.273 0.9766-0.9 0.3189-1.04 0.1161-0.749-1.1196-2.06-5.4009-2.06-5.2056-0.603 3.0118-0.745 3.9007-1.385 6.4601-0.195 0.8203-1.402 0.6709-1.13-0.7734 0.262-1.1872 1.988-7.0253 1.891-7.1945-1.357-2.3954-2.598-4.2902-4.244-5.3228z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2804" d="m329.29 297.29c-0.397-0.045-1.013 0.8831 0.964 1.2478 2.642 0.4782 5.534-0.4116 6.42-3.0023 1.015-3.0859 1.686-6.0073 2.216-7.1097 0.662-1.2847 1.509-1.1809 0.884-3.0559-0.441-1.3496-1.264-0.9424-1.437-0.221-0.462 1.967-2.215 8.3307-2.762 9.5026-1.032 2.1385-3.112 2.9845-6.285 2.6385z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2805" d="m334.58 287.14c-0.283-0.6072-0.943-0.1372-0.825 0.5268 0.07 0.6002 0.557 0.9265 1.046 0.9096 0.579-0.02 1.804 0.0194 1.807-0.942 0.002-0.6754-0.529-1.2397-0.923-0.4944-0.377 0.6748-0.862 0.6041-1.105 0z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2806" d="m335.24 284.6c-0.203 0.1409-0.021 0.892 0.221 0.8839 0.863-0.0288 2.086-0.3041 2.741-0.76 0.192-0.1334 0.112-0.5873-0.161-0.5782-0.832 0.0277-2.156 0.006-2.801 0.4543z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2807" d="m342.57 286.49c0.625-0.9766 2.349-1.0761 1.729 0.3181-0.439 0.9606-4.731 9.2537-5.317 10.308-0.639 1.1859-1.162 0.5987-0.708-0.3248 0.611-1.1884 4.1-10.013 4.296-10.302z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2808" d="m336.11 298.84c-0.183-0.66-1.207-1.6359-1.092 0.1295 0.204 3.2048 4.607 2.1918 5.94 1.0528 1.21-1.0724 0.16 3.618 1.768 4.12 0.886 0.284 2.554-0.925 3.374-1.989 2.274-2.9506 3.721-7.1804 5.908-10.094 0.826-1.1391-0.452-1.9522-0.969-1.0458-1.902 3.1891-4.264 9.6975-6.844 11.388-2.103 1.346-1.48-1.733-1.553-2.658-0.092-0.6786-0.919-1.677-2.022-0.7604-0.771 0.6024-1.969 1.0924-3.054 0.9944-0.629-0.035-1.16-0.024-1.456-1.1373z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2809" d="m343.97 292.89c0.023-0.1809-0.931-0.263-0.884 0.663 0.033 0.6855 0.853 0.8716 0.994 0.7735 1.29-0.9382-0.274-0.4703-0.11-1.4365z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2810" d="m342.09 296.64c-0.254 0.0594-0.487 0.8703 0.111 0.9163 0.547 0.039 2.69-0.191 3.282-0.1563 0.383-0.0144 0.529-0.7466-0.292-0.7076-0.996 0.0499-2.305-0.1997-3.101-0.0524z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2813" d="m356.28 295.69c0.879-3.2938 3.008 0.5081 1.133 2.3831-2.895 2.8355-3.767 8.2485-8.36 9.0635-1.238 0.266-3.417-0.557-4.063-1.016-0.252-0.179 0.163-1.355 0.937-0.781 1.119 0.874 3.43 1.071 4.65 0.078 2.61-2.562 4.735-5.9547 5.703-9.7276z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2815" d="m308.56 303.01c-0.207 0.238-0.84 0.199-0.897 0.533-0.249 1.239 0 1.867-0.273 3.06-0.261 1.142-1.054 1.185-1 0.254 0.072-1.207 1.067-2.911 0.364-3.028-0.468-0.11-0.829-0.736-0.345-1.045 0.914-0.634 1.405-0.537 2.033-0.346 0.219 0.067 0.275 0.389 0.118 0.572z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2816" d="m307.92 301.39c-1.212 1.06-2.336 1.493-3.451 2.833-0.456 0.549-0.443 1.314-0.715 2.014-0.273 0.743-1.151 0.889-1.423 0.734-0.455-0.299-0.389-1.677-0.897-0.935-0.431 0.683-0.709 1.624-1.346 1.612-0.576-0.012-1.663-1.19-1.112-1.247 1.885-0.193 1.862-1.702 2.568-1.801 0.792-0.106 0.844 1.246 1.333 0.975 0.384-0.197 0.565-1.772 0.982-2.197 1.278-1.306 2.289-1.996 3.593-2.956 0.66-0.526 1.131 0.423 0.468 0.968z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2817" d="m312.34 305.45c-0.97 0.196-0.805 1.443-0.52 1.598 0.47 0.219 1.197 0.311 1.469-1.123 0.127-0.589 0.242 2.928 1.533 1.573 0.743-0.821 2.584 0.149 3.355-0.884 0.552-0.688 0.722-1.168 0.292-2.184-0.125-0.309-0.881-0.157-0.838 0.593 0.038 0.632-0.448 1.412-1.08 1.279-0.307-0.056 0.173-1.546-0.135-1.95-0.17-0.222-0.428-0.198-0.597 0.032-0.237 0.322 0.238 1.75-0.541 1.938-0.983 0.227-0.468-0.955-0.884-1.171-1.338-0.675-1.467 0.175-2.054 0.299z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2818" d="m319.91 303.05c0.711-0.2 0.489-0.201 1.608-1.117 0.436-0.33 0.522 0.636 0.476 1.018-0.081 0.649-0.852 0.191-1.091 0.762-0.35 0.742-0.208 2.468-0.325 3.171-0.08 0.361-0.659 0.33-0.714 0.045-0.166-0.857 0.117-1.696 0.09-2.768-0.009-0.364-0.53-0.935-0.044-1.111z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path2819" d="m316.57 299.19c-0.172 0.7756-0.159 1.4146-0.159 1.9466 0.039 0.43 0.825 0.153 0.822 0.098-0.039-0.681 0.116-1.623-0.085-1.8856-0.109-0.1417-0.538-0.3054-0.578-0.159z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path3162" d="m285.49 283.37c-0.057-1.1542 1.732-1.2423 1.527 0.3449-0.262 1.9774 3.732 6.9829 4.063 10.07 0.222 2.0698-1.216 3.8816-2.64 5.0092-1.746 1.3525-4.431 1.1665-5.687 0.3906-0.76-0.6117-1.453-2.7066-0.884-3.5358 0.201-0.2791 1.111 3.0746 3.115 3.0615 2.727-0.0176 4.936-2.0661 5.017-3.8931 0.14-3.1821-4.461-8.2114-4.511-11.447z" fill-rule="evenodd" fill="#fff"/>
<path id="path3143" d="m290.24 282.7c0.34 0.0162 1.272 1.2239 1.211 1.6016-0.042 0.1781-0.997-0.0265-1.289-0.2734-0.216-0.1828-0.129-1.338 0.078-1.3282zm-4.494 8.7491c-0.852 0.4647 0.135 1.382 0.773 0.9944 2.395-1.5507 5.989-3.1796 6.74-6.2514 0.241-1.0404 1.208-2.6352 2.126-2.9911 0.887-0.3439 2.175 1.6048 3.016 0.0714 0.493-0.8765 2.221 0.5752 2.638-0.3627 0.508-1.1328 0.266-1.7565 0.287-2.8416-0.037-0.7108-0.58-0.9231-0.974 0.2277-0.205 0.5211 0.036 1.0472-0.131 1.3192-0.127 0.2068-0.523 0.4069-0.753 0.2344-0.212-0.159-0.065-0.603-0.573-0.7992-0.197-0.0987-0.513-0.1808-0.65 0.0714-0.603 1.0754-0.937 2.0781-1.781 0.9354-0.752-0.9844-1.133-2.686-1.684-0.3572-0.198 0.8219-1.447 2.0146-2.184 2.0146-0.92 0-0.689-2.4224-2.71-2.0537-1.039 0.2216-0.967 2.2096-0.812 2.9444 0.255 1.0212 3.291 0.2877 3.14 0.9553-0.519 2.3197-3.739 4.5247-6.468 5.8887z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<g id="g3144" stroke-linejoin="round" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path2781" d="m266.74 103c-0.129 0.388 0.387 1.442 0.922 1.52 0.525 0.039 0.793-1.138 0.624-1.52-0.125-0.281-1.454-0.275-1.546 0z"/>
<path id="path2782" d="m269.52 107.09c-0.337-0.363-1.33 0.611-0.527 1.3 0.451 0.365 2.103 0.895 2.555 0.124 0.612-0.992-0.603-4.594-0.065-5.07 0.42-0.372 2.367 2.406 3.328 2.606 2.258 0.313 1.716-3.866 4.149-3.582 1.658 0.221 1.84-1.851 1.609-3.1447-0.185-1.2414-2.195-3.0334-3.119-3.835-1.216-1.0123-1.758 0.7463-0.995 1.326 0.982 0.7864 2.709 2.3749 2.984 3.4257 0.13 0.496-1.2 1.482-1.69 1.215-1.131-0.617-2.183-3.2629-3.172-3.8673-0.337-0.2058-1.166 0.2593-0.767 1.0849 0.449 0.8845 2.432 2.2544 2.548 3.1984 0.105 0.861-0.884 2.723-1.533 2.723-0.714 0-2.534-2.25-3.102-3.309-0.284-0.507-1.268-0.458-1.371 0.242-0.163 1.051 0.152 3.275 0.403 4.653 0.199 1.305-0.735 1.371-1.235 0.91z"/>
<path id="path2783" d="m266.11 99.915c-0.284 0.3211 0.663 0.9491 0.851 0.7861 0.365-0.316 1.782-1.9314 1.509-2.496-0.243-0.5035-2.192-1.6061-2.509-1.0602-0.588 0.9448 1.837 1.3681 1.457 1.6451-0.187 0.1073-0.854 0.568-1.308 1.125z"/>
<path id="path2784" d="m269.61 92.835s0.609 2.0836 1.105 1.2155c0.401-0.6016-1.105-1.2155-1.105-1.2155z"/>
<path id="path2785" d="m270.6 96.15c-0.223 0.1219-0.851 0.6194-0.442 0.884 0.647 0.3827 2.407 0.6857 2.027-0.5659-0.231-0.7372 2.654 0.0205 1.951-1.9755-0.184-0.5524-1.054-1.3496-1.482-1.4622-0.272-0.0716-1.196 0.4352-0.618 0.7144 0.422 0.2185 1.695 0.9665 1.222 1.4564-0.537 0.5125-0.911-0.23-1.579-0.1104-0.336 0.0639-0.117 1.0201-0.306 1.2802-0.106 0.1451-0.591-0.3201-0.773-0.221z"/>
<path id="path2786" d="m275.18 88.227c-0.364 0.1819-1.016 1.1688-1.04 1.6251-0.013 0.2435 0.254 0.5782 0.462 0.4743 0.382-0.1908 0.972-1.1249 0.994-1.5536 0.014-0.2711-0.19-0.6586-0.416-0.5458z"/>
<path id="path2787" d="m277.56 87.974c-0.703-0.8594 0.746-2.1353 1.398-0.4152 0.394 1.0791 4.594 6.6063 5.453 8.4813 0.608 1.269-0.022 1.7933-0.774 0.884-2.127-2.7138-3.872-6.0965-6.077-8.9501z"/>
<path id="path2788" d="m281.87 88.084c0.749-0.8114 2.278-2.4687 1.866-3.3929-0.316-0.7949-1.245-0.7159-1.404-0.5325-0.909 1.085 0.646 0.8127 0.422 1.1832-0.463 0.8692-0.924 1.3477-1.163 2.1831-0.056 0.1959 0.144 0.7053 0.279 0.5591z"/>
</g>
<g id="g3153" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path3154" d="m266.74 103c-0.129 0.388 0.387 1.442 0.922 1.52 0.525 0.039 0.793-1.138 0.624-1.52-0.125-0.281-1.454-0.275-1.546 0z"/>
<path id="path3155" d="m269.52 107.09c-0.337-0.363-1.33 0.611-0.527 1.3 0.451 0.365 2.103 0.895 2.555 0.124 0.612-0.992-0.603-4.594-0.065-5.07 0.42-0.372 2.367 2.406 3.328 2.606 2.258 0.313 1.716-3.866 4.149-3.582 1.658 0.221 1.84-1.851 1.609-3.1447-0.185-1.2414-2.195-3.0334-3.119-3.835-1.216-1.0123-1.758 0.7463-0.995 1.326 0.982 0.7864 2.709 2.3749 2.984 3.4257 0.13 0.496-1.2 1.482-1.69 1.215-1.131-0.617-2.183-3.2629-3.172-3.8673-0.337-0.2058-1.166 0.2593-0.767 1.0849 0.449 0.8845 2.432 2.2544 2.548 3.1984 0.105 0.861-0.884 2.723-1.533 2.723-0.714 0-2.534-2.25-3.102-3.309-0.284-0.507-1.268-0.458-1.371 0.242-0.163 1.051 0.152 3.275 0.403 4.653 0.199 1.305-0.735 1.371-1.235 0.91z"/>
<path id="path3156" d="m266.11 99.915c-0.284 0.3211 0.663 0.9491 0.851 0.7861 0.365-0.316 1.782-1.9314 1.509-2.496-0.243-0.5035-2.192-1.6061-2.509-1.0602-0.588 0.9448 1.837 1.3681 1.457 1.6451-0.187 0.1073-0.854 0.568-1.308 1.125z"/>
<path id="path3157" d="m269.61 92.835s0.609 2.0836 1.105 1.2155c0.401-0.6016-1.105-1.2155-1.105-1.2155z"/>
<path id="path3158" d="m270.6 96.15c-0.223 0.1219-0.851 0.6194-0.442 0.884 0.647 0.3827 2.407 0.6857 2.027-0.5659-0.231-0.7372 2.654 0.0205 1.951-1.9755-0.184-0.5524-1.054-1.3496-1.482-1.4622-0.272-0.0716-1.196 0.4352-0.618 0.7144 0.422 0.2185 1.695 0.9665 1.222 1.4564-0.537 0.5125-0.911-0.23-1.579-0.1104-0.336 0.0639-0.117 1.0201-0.306 1.2802-0.106 0.1451-0.591-0.3201-0.773-0.221z"/>
<path id="path3159" d="m275.18 88.227c-0.364 0.1819-1.016 1.1688-1.04 1.6251-0.013 0.2435 0.254 0.5782 0.462 0.4743 0.382-0.1908 0.972-1.1249 0.994-1.5536 0.014-0.2711-0.19-0.6586-0.416-0.5458z"/>
<path id="path3160" d="m277.56 87.974c-0.703-0.8594 0.746-2.1353 1.398-0.4152 0.394 1.0791 4.594 6.6063 5.453 8.4813 0.608 1.269-0.022 1.7933-0.774 0.884-2.127-2.7138-3.872-6.0965-6.077-8.9501z"/>
<path id="path3161" d="m281.87 88.084c0.749-0.8114 2.278-2.4687 1.866-3.3929-0.316-0.7949-1.245-0.7159-1.404-0.5325-0.909 1.085 0.646 0.8127 0.422 1.1832-0.463 0.8692-0.924 1.3477-1.163 2.1831-0.056 0.1959 0.144 0.7053 0.279 0.5591z"/>
</g>
<path id="path3181" d="m336.11 298.84c-0.183-0.66-1.207-1.6359-1.092 0.1295 0.204 3.2048 4.607 2.1918 5.94 1.0528 1.21-1.0724 0.16 3.618 1.768 4.12 0.886 0.284 2.554-0.925 3.374-1.989 2.274-2.9506 3.721-7.1804 5.908-10.094 0.826-1.1391-0.452-1.9522-0.969-1.0458-1.902 3.1891-4.264 9.6975-6.844 11.388-2.103 1.346-1.48-1.733-1.553-2.658-0.092-0.6786-0.919-1.677-2.022-0.7604-0.771 0.6024-1.969 1.0924-3.054 0.9944-0.629-0.035-1.16-0.024-1.456-1.1373z" fill-rule="evenodd" fill="#fff"/>
<path id="path3163" d="m293.48 291.23c0.451-0.3223 1.171 1.0848 0.663 1.4364-0.423 0.2817-1.249-1.0458-0.663-1.4364z" fill-rule="evenodd" fill="#fff"/>
<path id="path2811" d="m346.98 290.3c-0.538-0.4358 0.529-2.5481 1.251-1.7189 1.982 2.2936 2.903 9.7404 3.476 15.314 0 0-0.891 0.743-0.898 0.625 0-2.969-1.193-12.052-3.829-14.22z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path3164" d="m294.68 288.38c-0.228 0.1106-0.681-0.0465-0.546-0.24 0.638-0.9115 1.998-2.2835 2.984-2.7624 0.303-0.1472 0.833 0.3876 0.65 0.6496-0.59 0.843-2.026 1.8373-3.088 2.3528z" fill-rule="evenodd" fill="#fff"/>
<path id="path3188" d="m346.98 290.3c-0.538-0.4358 0.529-2.5481 1.251-1.7189 1.982 2.2936 2.903 9.7404 3.476 15.314 0 0-0.891 0.743-0.898 0.625 0-2.969-1.193-12.052-3.829-14.22z" fill-rule="evenodd" fill="#fff"/>
<path id="path2812" d="m348.2 303.31c0.358-0.997 5.118-8.986 5.743-10.744 0.32-0.8476 1.686 1.4537 0.352 2.6955-1.172 1.0547-4.63 6.7253-5.275 8.7123-0.297 0.897-1.198 0.47-0.82-0.664z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path3171" d="m312.42 281.62c0.137-0.8221-1.33 0.0172-1.357-1.0726-0.014-0.5768 1.603-0.9815 2.279-0.318 1.142 1.1585 0.288 3.1126-1.611 3.2356-1.583 0.0699-4.224 2.2476-3.822 2.7054 0.457 0.5653 4.562 0.9386 6.949 0.5648 1.478-0.2074 1.168 1.1145-0.346 1.2935-1.463 0.1686-2.655 0.0123-4.022 0.442-1.609 0.4597-2.311 2.6194-3.205 3.4254-0.199 0.1401-0.736-0.7081-0.532-1.0269 0.644-1.0072 1.671-2.5488 2.801-2.9901 0.713-0.2888-1.966-0.3799-2.821-0.6239-0.678-0.2044-0.481-1.066-0.221-1.5469 0.345-0.7493 2.87-3.278 3.888-3.2367 0.956 0.0404 1.925-0.2379 2.02-0.8516z" fill-rule="evenodd" fill="#fff"/>
<path id="path3166" d="m299.64 287.2c-1.103-0.859 0.297-2.0625 1.45-1.2222 2.246 1.6943-3.351 8.1851-6.396 11.219-0.557 0.5942-1.046-0.9024-0.332-1.5469 2.183-1.8517 4.227-4.0641 5.648-6.3496 0.274-0.44 0.536-1.3885-0.37-2.1004z" fill-rule="evenodd" fill="#fff"/>
<path id="path2796" d="m302.54 283.05c-0.641-1.4736 0.962-2.019 1.202-0.9687 1.114 4.8406 3.781 8.5056 5.811 11.797 0.611 1.029 0.121 1.6422-1.365 0.6953-1.029-0.7055-2.074-3.2782-2.58-3.3796-0.916-0.1705-3.108 4.1793-7.592 2.9377-1.16-0.3241-1.083-3.7735-1.105-5.2971-0.049-0.7143 0.74-0.903 0.767 0.0714 0.041 1.4047-0.002 4.3227 1.795 4.4209 1.465 0.0819 4.71-1.9893 5.394-3.6084 0.609-1.6647-1.634-4.9734-2.327-6.6688z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path3167" d="m290.24 282.7c0.34 0.0162 1.272 1.2239 1.211 1.6016-0.042 0.1781-0.997-0.0265-1.289-0.2734-0.216-0.1828-0.129-1.338 0.078-1.3282zm-4.494 8.7491c-0.852 0.4647 0.135 1.382 0.773 0.9944 2.395-1.5507 5.989-3.1796 6.74-6.2514 0.241-1.0404 1.208-2.6352 2.126-2.9911 0.887-0.3439 2.175 1.6048 3.016 0.0714 0.493-0.8765 2.221 0.5752 2.638-0.3627 0.508-1.1328 0.266-1.7565 0.287-2.8416-0.037-0.7108-0.58-0.9231-0.974 0.2277-0.205 0.5211 0.036 1.0472-0.131 1.3192-0.127 0.2068-0.523 0.4069-0.753 0.2344-0.212-0.159-0.065-0.603-0.573-0.7992-0.197-0.0987-0.513-0.1808-0.65 0.0714-0.603 1.0754-0.937 2.0781-1.781 0.9354-0.752-0.9844-1.133-2.686-1.684-0.3572-0.198 0.8219-1.447 2.0146-2.184 2.0146-0.92 0-0.689-2.4224-2.71-2.0537-1.039 0.2216-0.967 2.2096-0.812 2.9444 0.255 1.0212 3.291 0.2877 3.14 0.9553-0.519 2.3197-3.739 4.5247-6.468 5.8887z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
<path id="path3165" d="m302.54 283.05c-0.641-1.4736 0.962-2.019 1.202-0.9687 1.114 4.8406 3.781 8.5056 5.811 11.797 0.611 1.029 0.121 1.6422-1.365 0.6953-1.029-0.7055-2.074-3.2782-2.58-3.3796-0.916-0.1705-3.108 4.1793-7.592 2.9377-1.16-0.3241-1.083-3.7735-1.105-5.2971-0.049-0.7143 0.74-0.903 0.767 0.0714 0.041 1.4047-0.002 4.3227 1.795 4.4209 1.465 0.0819 4.71-1.9893 5.394-3.6084 0.609-1.6647-1.634-4.9734-2.327-6.6688z" fill-rule="evenodd" fill="#fff"/>
<path id="path3168" d="m305.23 280.01c0.253-0.5281 1.772-1.1251 2.159-1.4822 0.358-0.3665 0.529 0.3101 0.376 0.6295-0.253 0.5278-1.564 1.4192-2.139 1.4431-0.309 0.0129-0.549-0.2714-0.396-0.5904z" fill-rule="evenodd" fill="#fff"/>
<path id="path3169" d="m308.83 280.18c0.329-0.927 1.39-2.3322 2.12-2.7948 0.375-0.2372 1.048-0.0506 0.922 0.3047-0.279 0.7865-1.577 2.1607-2.45 2.8081-0.265 0.2358-0.668-0.1032-0.592-0.318z" fill-rule="evenodd" fill="#fff"/>
<path id="path3170" d="m305.74 282.5c-0.22 0.1101-0.101 0.5787 0.111 0.6495 0.451 0.1502 1.272 0.1795 1.644-0.0257 0.54-0.3328 0.294-2.3808-0.429-1.2868-0.485 0.6749-0.839 0.4581-1.326 0.663z" fill-rule="evenodd" fill="#fff"/>
<path id="path3172" d="m316.68 281.84c0.475-0.419 0.718-1.1201 1.216-1.5469 0.273-0.2734 0.709 0.0542 0.636 0.7143-0.061 0.5197-0.759 0.9676-1.228 1.3583-0.382 0.2861-0.826-0.3318-0.624-0.5257z" fill-rule="evenodd" fill="#fff"/>
<path id="path3173" d="m322.09 279.91c0.707-0.0781 0.883 1.2868 0.11 1.5078-0.469 0.1563-0.879-1.4273-0.11-1.5078z" fill-rule="evenodd" fill="#fff"/>
<path id="path3174" d="m320.31 284.13c-0.011 1.175 0.569 1.0669 1.676 1.0268 1.074-0.0404 2.019 0.0277 2.015-1.0335-0.005-1.1-0.609-2.0623-0.786-1.3137-0.156 0.7032-0.28 1.8545-0.689 1.3528-0.386-0.4311-0.233-0.5256-0.897 0.1819-0.368 0.3899-0.41-0.189-0.631-0.5525-0.154-0.2153-0.687 0.1739-0.688 0.3382z" fill-rule="evenodd" fill="#fff"/>
<path id="path3175" d="m312.59 290.13c-0.264 1.555-0.022 3.7323 0.774 3.7569 0.984 0.032 3.02-3.3998 3.984-5.1799 0.578-0.9934 1.571-1.1671 1.157-0.1306-0.627 1.5992-0.571 5.0205-0.02 6.0259 0.296 0.5415 2.481-0.4966 2.834-1.2679 0.642-1.4018 0.12-3.9859 0.345-5.5639 0.109-1.036 1.057-1.2525 1.007-0.2923-0.094 1.718-0.257 4.8677-0.136 6.2982 0.072 0.8223 2.423 2.0358 2.801-0.4543 0.199-1.5674 1.006-3.113-0.039-4.8495-0.648-1.0857 0.951-0.9497 1.813 0.5335 0.603 1.0094-0.508 2.6799-0.469 3.9711 0.1 1.9865-1.445 3.1151-2.566 3.1386-1.002 0.0202-1.655-1.2106-2.476-1.2278-0.911-0.0581-1.847 1.4172-2.6 1.365-2.918-0.1994-1.373-4.4646-2.262-4.5169-0.989-0.0582-2.155 4.1804-3.373 4.0292-1.201-0.1442-2.444-3.4545-1.944-4.8551 0.452-1.3031 1.304-1.6085 1.17-0.7802z" fill-rule="evenodd" fill="#fff"/>
<path id="path3176" d="m326.72 283.4c-1.424-0.8686 0.09-3.1274 0.786-2.3338 1.344 1.6096 2.699 5.4302 3.646 5.7458 0.6 0.2001 0.572-2.824 0.995-4.1988 0.273-1.0156 1.501-0.6841 1.266 0.6172-0.08 0.4345-1.604 5.3752-1.487 5.5705 1.056 2.1111 2.101 4.2534 2.762 6.5192 0.273 0.9766-0.9 0.3189-1.04 0.1161-0.749-1.1196-2.06-5.4009-2.06-5.2056-0.603 3.0118-0.745 3.9007-1.385 6.4601-0.195 0.8203-1.402 0.6709-1.13-0.7734 0.262-1.1872 1.988-7.0253 1.891-7.1945-1.357-2.3954-2.598-4.2902-4.244-5.3228z" fill-rule="evenodd" fill="#fff"/>
<path id="path3177" d="m329.29 297.29c-0.397-0.045-1.013 0.8831 0.964 1.2478 2.642 0.4782 5.534-0.4116 6.42-3.0023 1.015-3.0859 1.686-6.0073 2.216-7.1097 0.662-1.2847 1.509-1.1809 0.884-3.0559-0.441-1.3496-1.264-0.9424-1.437-0.221-0.462 1.967-2.215 8.3307-2.762 9.5026-1.032 2.1385-3.112 2.9845-6.285 2.6385z" fill-rule="evenodd" fill="#fff"/>
<path id="path3178" d="m334.58 287.14c-0.283-0.6072-0.943-0.1372-0.825 0.5268 0.07 0.6002 0.557 0.9265 1.046 0.9096 0.579-0.02 1.804 0.0194 1.807-0.942 0.002-0.6754-0.529-1.2397-0.923-0.4944-0.377 0.6748-0.862 0.6041-1.105 0z" fill-rule="evenodd" fill="#fff"/>
<path id="path3179" d="m335.24 284.6c-0.203 0.1409-0.021 0.892 0.221 0.8839 0.863-0.0288 2.086-0.3041 2.741-0.76 0.192-0.1334 0.112-0.5873-0.161-0.5782-0.832 0.0277-2.156 0.006-2.801 0.4543z" fill-rule="evenodd" fill="#fff"/>
<path id="path3180" d="m342.57 286.49c0.625-0.9766 2.349-1.0761 1.729 0.3181-0.439 0.9606-4.731 9.2537-5.317 10.308-0.639 1.1859-1.162 0.5987-0.708-0.3248 0.611-1.1884 4.1-10.013 4.296-10.302z" fill-rule="evenodd" fill="#fff"/>
<path id="path3182" d="m343.97 292.89c0.023-0.1809-0.931-0.263-0.884 0.663 0.033 0.6855 0.853 0.8716 0.994 0.7735 1.29-0.9382-0.274-0.4703-0.11-1.4365z" fill-rule="evenodd" fill="#fff"/>
<path id="path3191" d="m348.2 303.31c0.358-0.997 5.118-8.986 5.743-10.744 0.32-0.8476 1.686 1.4537 0.352 2.6955-1.172 1.0547-4.63 6.7253-5.275 8.7123-0.297 0.897-1.198 0.47-0.82-0.664z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path3183" d="m342.09 296.64c-0.254 0.0594-0.487 0.8703 0.111 0.9163 0.547 0.039 2.69-0.191 3.282-0.1563 0.383-0.0144 0.529-0.7466-0.292-0.7076-0.996 0.0499-2.305-0.1997-3.101-0.0524z" fill-rule="evenodd" fill="#fff"/>
<path id="path3189" d="m348.2 303.31c0.358-0.997 5.118-8.986 5.743-10.744 0.32-0.8476 1.686 1.4537 0.352 2.6955-1.172 1.0547-4.63 6.7253-5.275 8.7123-0.297 0.897-1.198 0.47-0.82-0.664z" fill-rule="evenodd" fill="#fff"/>
<path id="path3192" d="m356.28 295.69c0.879-3.2938 3.008 0.5081 1.133 2.3831-2.895 2.8355-3.767 8.2485-8.36 9.0635-1.238 0.266-3.417-0.557-4.063-1.016-0.252-0.179 0.163-1.355 0.937-0.781 1.119 0.874 3.43 1.071 4.65 0.078 2.61-2.562 4.735-5.9547 5.703-9.7276z" fill-rule="evenodd" stroke="#000" stroke-width=".5" fill="#fff"/>
<path id="path3190" d="m356.28 295.69c0.879-3.2938 3.008 0.5081 1.133 2.3831-2.895 2.8355-3.767 8.2485-8.36 9.0635-1.238 0.266-3.417-0.557-4.063-1.016-0.252-0.179 0.163-1.355 0.937-0.781 1.119 0.874 3.43 1.071 4.65 0.078 2.61-2.562 4.735-5.9547 5.703-9.7276z" fill-rule="evenodd" fill="#fff"/>
<path id="path3194" d="m312.34 305.45c-0.97 0.196-0.805 1.443-0.52 1.598 0.47 0.219 1.197 0.311 1.469-1.123 0.127-0.589 0.242 2.928 1.533 1.573 0.743-0.821 2.584 0.149 3.355-0.884 0.552-0.688 0.722-1.168 0.292-2.184-0.125-0.309-0.881-0.157-0.838 0.593 0.038 0.632-0.448 1.412-1.08 1.279-0.307-0.056 0.173-1.546-0.135-1.95-0.17-0.222-0.428-0.198-0.597 0.032-0.237 0.322 0.238 1.75-0.541 1.938-0.983 0.227-0.468-0.955-0.884-1.171-1.338-0.675-1.467 0.175-2.054 0.299z" fill-rule="evenodd" fill="#fff"/>
<path id="path3195" d="m319.91 303.05c0.711-0.2 0.489-0.201 1.608-1.117 0.436-0.33 0.522 0.636 0.476 1.018-0.081 0.649-0.852 0.191-1.091 0.762-0.35 0.742-0.208 2.468-0.325 3.171-0.08 0.361-0.659 0.33-0.714 0.045-0.166-0.857 0.117-1.696 0.09-2.768-0.009-0.364-0.53-0.935-0.044-1.111z" fill-rule="evenodd" fill="#fff"/>
<path id="path3196" d="m316.57 299.19c-0.172 0.7756-0.159 1.4146-0.159 1.9466 0.039 0.43 0.825 0.153 0.822 0.098-0.039-0.681 0.116-1.623-0.085-1.8856-0.109-0.1417-0.538-0.3054-0.578-0.159z" fill-rule="evenodd" fill="#fff"/>
<path id="path3197" d="m307.92 301.39c-1.212 1.06-2.336 1.493-3.451 2.833-0.456 0.549-0.443 1.314-0.715 2.014-0.273 0.743-1.151 0.889-1.423 0.734-0.455-0.299-0.389-1.677-0.897-0.935-0.431 0.683-0.709 1.624-1.346 1.612-0.576-0.012-1.663-1.19-1.112-1.247 1.885-0.193 1.862-1.702 2.568-1.801 0.792-0.106 0.844 1.246 1.333 0.975 0.384-0.197 0.565-1.772 0.982-2.197 1.278-1.306 2.289-1.996 3.593-2.956 0.66-0.526 1.131 0.423 0.468 0.968z" fill-rule="evenodd" fill="#fff"/>
<path id="path3193" d="m308.56 303.01c-0.207 0.238-0.84 0.199-0.897 0.533-0.249 1.239 0 1.867-0.273 3.06-0.261 1.142-1.054 1.185-1 0.254 0.072-1.207 1.067-2.911 0.364-3.028-0.468-0.11-0.829-0.736-0.345-1.045 0.914-0.634 1.405-0.537 2.033-0.346 0.219 0.067 0.275 0.389 0.118 0.572z" fill-rule="evenodd" fill="#fff"/>
<g id="g3205" fill-rule="evenodd" transform="translate(0,199.5)" stroke="#000" stroke-width=".5" fill="#fff">
<path id="path3198" d="m302.18 200.08c0.419 0.931 1.031 0.89 0.939-0.001-0.178-1.141-0.523-2.718-0.718-4.088-0.111-1.16-1.31-0.936-0.994 0.276 0.4 1.308 0.316 2.743 0.773 3.813z"/>
<path id="path3201" d="m305.77 200.14c-0.005 0.472 0.726 0.429 0.719 0.056-0.076-1.187-0.166-2.791 0.165-3.37 0.258-0.452 1.299-0.133 2.265-0.221 0.385-0.057 0.305-1.116-0.497-1.049-0.946 0.085-3.44-0.222-3.591 0.662-0.217 1.59 0.983-0.095 0.939 3.922z"/>
<path id="path3203" d="m313.01 195.55c0.605 0.436 0.521 1.003-0.221 0.828-0.884-0.221-1.48-0.15-1.468 0.335 0.013 0.477 0.386 0.57 0.929 1.099 0.52 0.545-0.319 0.456-0.962 1.572-0.548 0.924 0.57 1.046 1.888 0.696 0.336-0.096 0.777 0.482-0.055 0.957-0.586 0.313-2.219 0.696-2.625-0.489-0.771-2.05 1.291-2.334 0.422-2.88-0.474-0.286-0.645-0.717-0.559-1.289 0.184-1.32 2.15-1.145 2.651-0.829z"/>
<path id="path3204" d="m315.73 200.07c0.795-1.451 1.343-2.538 1.565-3.77 0.193-1.112 0.992-1.219 1.16-0.276 0.216 1.252 0.933 2.493 1.803 3.63 0.51 0.705-0.516 1.326-0.919 0.777-0.739-0.938-0.77-2.245-1.206-2.236-0.503 0.01-1.074 1.457-1.611 2.525-0.156 0.31-1.109-0.001-0.792-0.65z"/>
</g>
<g id="g3210" fill-rule="evenodd" fill="#fff" transform="translate(0,199.5)">
<path id="path3211" d="m302.18 200.08c0.419 0.931 1.031 0.89 0.939-0.001-0.178-1.141-0.523-2.718-0.718-4.088-0.111-1.16-1.31-0.936-0.994 0.276 0.4 1.308 0.316 2.743 0.773 3.813z"/>
<path id="path3212" d="m305.77 200.14c-0.005 0.472 0.726 0.429 0.719 0.056-0.076-1.187-0.166-2.791 0.165-3.37 0.258-0.452 1.299-0.133 2.265-0.221 0.385-0.057 0.305-1.116-0.497-1.049-0.946 0.085-3.44-0.222-3.591 0.662-0.217 1.59 0.983-0.095 0.939 3.922z"/>
<path id="path3213" d="m313.01 195.55c0.605 0.436 0.521 1.003-0.221 0.828-0.884-0.221-1.48-0.15-1.468 0.335 0.013 0.477 0.386 0.57 0.929 1.099 0.52 0.545-0.319 0.456-0.962 1.572-0.548 0.924 0.57 1.046 1.888 0.696 0.336-0.096 0.777 0.482-0.055 0.957-0.586 0.313-2.219 0.696-2.625-0.489-0.771-2.05 1.291-2.334 0.422-2.88-0.474-0.286-0.645-0.717-0.559-1.289 0.184-1.32 2.15-1.145 2.651-0.829z"/>
<path id="path3214" d="m315.73 200.07c0.795-1.451 1.343-2.538 1.565-3.77 0.193-1.112 0.992-1.219 1.16-0.276 0.216 1.252 0.933 2.493 1.803 3.63 0.51 0.705-0.516 1.326-0.919 0.777-0.739-0.938-0.77-2.245-1.206-2.236-0.503 0.01-1.074 1.457-1.611 2.525-0.156 0.31-1.109-0.001-0.792-0.65z"/>
</g>
<path id="path1912" d="m384.5 357.31c-0.056 0.297 0.747 0.736 0.938 0.508 0.864-1.035 1.995-3.067 2.227-4.297 0.068-0.358-1.083-0.763-1.329-0.469-0.809 0.969-1.593 2.966-1.836 4.258z" fill-rule="evenodd" stroke-width="1pt" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 133 KiB

+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
<svg id="svg548" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="480" width="640" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata id="metadata3794">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs550">
<clipPath id="clipPath3056" clipPathUnits="userSpaceOnUse">
<rect id="rect3058" fill-opacity="0.67" height="512" width="682.67" y="3.5757e-8" x="-79.698"/>
</clipPath>
</defs>
<g id="flag" clip-path="url(#clipPath3056)" fill-rule="evenodd" transform="matrix(.93750 0 0 .93750 74.717 -3.3522e-8)">
<rect id="rect556" height="511.49" width="763.27" y="-8.5115e-7" x="-120" stroke-width="1pt" fill="#fff"/>
<rect id="rect1050" height="216.09" width="760.88" y=".61745" x="-118.31" stroke-width="1pt"/>
<rect id="rect1049" height="113.82" width="505.01" y="203.23" x="21.299" stroke-width="1pt" fill="#0061ff"/>
<path id="path1047" d="m642.75 1.7529v510.25h-380.72l380.72-510.25z" fill="#e20000"/>
<path id="path1048" d="m-118.69 1.7529v510.25h380.72l-380.72-510.25z" fill="#e20000"/>
<path id="path1051" d="m440.37 203.34-76.31-19.363 64.921-48.976-79.727 11.39 41.003-69.476-70.616 41.003 12.528-80.867-47.836 63.782-19.363-74.033-21.64 76.311-47.837-64.921 13.667 83.145-70.615-43.282 41.003 69.476-77.449-12.528 63.782 47.837-79.728 20.501h354.22z" fill="#ffd600"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Some files were not shown because too many files have changed in this diff Show More